2017-03-14 5 views
0

ドッカーバージョン断っ:バージョン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 

答えて

0

私はそれが実際にあなたのドッカーコンテナを実行するためにカバーの下にVMを使用しているため、これは今までにMac用ドッカーで動作するとは思いません。このは、ブリッジネットワーキングではなくホストネットワーキングを使用しようとすると、ネイティブのDockerサポートがあるシステム上でが動作する必要があります。

私の提案は、ドッカーの群れモード(スタンドアロンないドッカーの群れ)、または両方のサービスを拡張し、単一のアドレスを経由してそれらの負荷分散を提供するためのメカニズムを提供Kubernetesのいずれかを見てだろう

関連する問題