マルチホストネットワークにNetScaler CPXを展開する
トポロジ 1: NetScaler CPXとバックエンドサーバーが同じホスト上にある場合; クライアントが異なるネットワーク上にある場合
-
NetScaler CPXコンテナ上に、別のIPアドレスを使用してVIPを構成します。
-
Dockerホストに別のIPアドレスを構成します。
-
NATルールを構成して、Dockerホストの追加IPアドレスで受信したすべてのトラフィックをVIPの追加IPアドレスに転送します。
-
NetScaler CPXインスタンス上で、2つのサーバーをサービスとして構成します。
-
最後に、サービスをVIPにバインドします。
add service s1 172.17.0.10 HTTP 80
add service s2 172.17.0.11 HTTP 80
add lb vserver cpx-vip HTTP 172.17.4.100 80
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
ip addr add 10.102.29.103/24 dev eth0
iptables -t nat -A PREROUTING -p ip -d 10.102.29.103 -j DNAT --to-destination 172.17.4.100
-
NetScaler CPX インスタンスで VIP と 2 つのサービスを構成します。VIP には非標準ポート 81 を使用します。
-
サービスを VIP にバインドします。
-
Docker ホストのポート 50000 で受信したすべてのトラフィックを VIP とポート 81 に転送する NAT ルールを構成します。
docker run -dt -p 22 -p 80 -p 161/udp -p 50000:81 --ulimit core=-1 --privileged=true cpx:6.2
add service s1 172.17.0.10 http 80
add service s2 172.17.0.11 http 80
add lb vserver cpx-vip HTTP 172.17.0.4 81
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
トポロジ 2: 物理サーバーとクライアントを備えた NetScaler CPX
docker run -dt -p 22 -p 80 -p 161/udp -p 8080:8080 --ulimit core=-1 --privileged=true cpx:6.2
add service s1 HTTP 10.102.29.105 80
add service s2 HTTP 10.102.29.110 80
add lb vserver cpx-vip HTTP 172.17.0.4 8080
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
トポロジ3:異なるホストにプロビジョニングされたNetScaler CPXとサーバー
-
NetScaler CPXコンテナの作成時にポートマッピングを設定します。この例では、コンテナのポート8080をホストのポート8080に転送する必要があることを意味します。クライアントリクエストがホストのポート8080に到着すると、CPXコンテナのポート8080にマッピングされます。
-
5つのサーバーをNetScaler CPXインスタンス上のサービスとして構成します。これらのサービスを設定するには、それぞれのDockerホストのIPアドレスとマッピングされたポートの組み合わせを使用する必要があります。
-
クライアント要求を受信するために、NetScaler CPXインスタンス上にVIPを構成します。このVIPは、NetScaler CPXのIPアドレスと、ホストのポート8080にマッピングされたポート8080で表される必要があります。
-
最後に、サービスをVIPにバインドします。
docker run -dt -p 22 -p 80 -p 161/udp -p 8080:8080 --ulimit core=-1 --privileged=true cpx:6.2
add service s1 10.102.29.100 HTTP 8081
add service s2 10.102.29.105 HTTP 8081
add service s3 10.102.29.105 HTTP 8082
add service s4 10.102.29.110 HTTP 8081
add service s5 10.102.29.110 HTTP 8082
add lb vserver cpx-vip HTTP 172.17.0.2 8080
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
bind lb vserver cpx-vip s3
bind lb vserver cpx-vip s4
bind lb vserver cpx-vip s5