도커 버전 거부 : 버전 17.03.0-CE-MAC2를 (15654)
OS : 맥 OS 시에라Keepalived/Haproxy 고정 표시기-작성 연결
내가 설정에 docker- 사용하여 HA 환경을 시도하고있다 짓다. 토폴로지가 어떻게 생겼는지에 대한 간단한 개요는 적어도 두 개의 keepalived 및 haproxy 인스턴스가 실행되며 haproxy가 여러 서버 앞에 표시됩니다. 그러나이 게시에서는 단순화를 위해 keepalived, haproxy 및 server 인스턴스를 하나만 참조했습니다.
현재 문제는 내가 keepalived에 할당 한 가상 IP 주소로 트래픽을 보낼 수 없다는 것입니다. 내 도커 작성 파일의 테스트 목적으로 VIP를 사용하여 통신을 시도하는 클라이언트가 있는데 연결이 거부되었습니다.
dial tcp 192.168.99.120:80: getsockopt: connection refused
그러나 직접적으로 haproxy에 연락하면 연결 문제가 없습니다. 또한, 나는 호스트에서 직접 haproxy와 통신 할 수 있지만 keepalived하지 않습니다.
나는 네트워크가 도커에서 어떻게 작동하는지와 관련이 있다고 느낀다. 그러나 나는 도커를 사용하는 것에 매우 익숙하며 문제를 추적 할 수 없었다. 어떤 도움이라도 대단히 감사 할 것입니다.
내 구성 파일은 모두 아래에 포함되어 있습니다.
고정 표시기-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
0vrrp_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
}
}
내 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