ドッカーバージョン断っ:バージョン17.03.0-CE-MAC2(15654)
OS: MacOSのシエラkeepalivedの/ Haproxyドッキングウィンドウ-構成する接続が
私はdocker-使用してセットアップにHA環境をしようとしていますが作成する。トポロジの概要を簡単に説明すると、キープアライブとハプロキシの少なくとも2つのインスタンスが実行され、複数のサーバーの前にハプロキシが配置されます。しかし、この記事では、単純化のためキープアライブ、ハプロキシ、およびサーバーのインスタンスを1つだけ参照します。
私が今いる問題は、キープアライブに割り当てる仮想IPアドレスにトラフィックを送信できないことです。私のドッカーの作成ファイルのテスト目的のために、私はVIPを使って通信しようとするクライアントを持っており、接続が拒否されました。
dial tcp 192.168.99.120:80: getsockopt: connection refused
しかし、私が直接ハプロキシに手を差し伸べると接続に問題はありません。さらに、私はホストからのハプロキシと直接通信することができますが、キープアライブしないようにします。
私はドッカーでネットワークがどのように機能するかとは関係がありますが、私はドッカーを使用するのにはとても新しいので、問題を追跡できていないと思います。どんな助けでも大歓迎です。
設定ファイルはすべて以下のとおりです。
ドッカー-compose.yml:
version: '2'
services:
keepalived1:
image: neoassist/docker-keepalived:latest
container_name: keepalived1
volumes:
- "./keepalived.conf:/etc/keepalived/keepalived.conf"
environment:
- VIRTUAL_IP=192.168.99.120
- VIRTUAL_MASK=24
- VRID=1
- CHECK_IP=any
- CHECK_PORT=80
- INTERFACE=eth0
entrypoint: sh -c 'sleep 4;/usr/bin/keepalived.sh'
network_mode: "host"
cap_drop:
- NET_ADMIN
privileged: true
haproxy1:
image: haproxy:latest
container_name: haproxy1
ports:
- 7054:7054
volumes:
- "./haproxy1.cfg:/usr/local/etc/haproxy/haproxy.cfg"
environment:
- EXPOSE=7054
links:
- fabric-ca-server1:fabric-ca-server1
fabric-ca-server1:
image: hyperledger/fabric-ca
container_name: fabric-ca-server1
ports:
- 7051:7054
environment:
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
volumes:
- "./fabric-ca-server:/etc/hyperledger/fabric-ca-server"
command: sh -c "fabric-ca-server start -d -b admin:adminpw"
admin-client:
image: hyperledger/fabric-ca
container_name: admin-client
network_mode: "host"
command: sh -c "sleep 14;fabric-ca-client enroll -d -u http://admin:[email protected]"
haproxy.cfg
global
maxconn 4096
defaults
mode http
maxconn 2000
timeout connect 5000
timeout client 50000
timeout server 50000
frontend server
bind *:7054
mode tcp
default_backend server_cluster
backend server_cluster
balance source
mode tcp
option tcpka
server server1 fabric-ca-server1:7054
keepalived.conf
vrrp_script haproxy {
script "pidof haproxy"
interval 2
weight 2
}
vrrp_instance haproxy_1 {
virtual_router_id 1
advert_int 1
interface eth0
nopreempt
state BACKUP
virtual_ipaddress {
192.168.99.120/24 dev eth0
}
track_script {
haproxy
}
}
0私のMacから
ifconfigコマンドがあります。
vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255