コントローラは Docker をローカルで実行し、非スーパー ユーザー アカウントに対して NSX Advanced Load Balancer CLI サーバを実行するためのサンドボックスを提供します。デフォルトでは、Docker は IP アドレス 172.17.0.1/16
を使用して Linux ブリッジ インターフェイスを作成します。このインターフェイスは、この 172.17.0.1/16
ネットワーク範囲内のコントローラとホスト間で競合や通信障害を引き起こす可能性があります。これは、コントローラが Docker ブリッジを介して /16
サブネット全体のローカル ネクスト ホップ ルートを持つことになるためです。
考えられる症状は次のとおりです。
IP アドレスが
172.17.x.x (172.17.0.0/16)
の任意のホストからコントローラと通信できません。vCenter Server、NSX Manager などが
172.17.0.0/16
サブネット内にある場合、クラウドとの連携が失敗します。仮想サービスの配置が次の状態で失敗します。
状態:リソース
理由:ホスト: コントローラから <esxi ホスト> にアクセスできません。
解決方法
管理者アカウントとパスワードを使用してコントローラに SSH 接続します。
次を使用して root になります:sudo -s
次の内容で /etc/docker/daemon.json ファイルを作成します(このファイルはデフォルトでは存在しません)。
{ "bip": "172.26.0.1/16" }
上記の IP アドレスの例を、ネットワークで使用されているサブネットと競合しないアドレスに置き換えます。これは、ネットワーク アドレスではなく、ホスト アドレスにする必要があります。プレフィックス長は
/16
から/28
にする必要があります。ファイルを作成したら、systemctl restart docker コードを使用して Docker デーモンを再起動します。
行った変更が正常に機能するかどうかを確認するために、docker0 インターフェイスの ifconfig に表示されている IP アドレスが
daemon.json
ファイルで指定したブリッジ IP アドレスに対応していることを確認します。
Controller クラスタの場合、これらの手順を各コントローラで実行する必要があります。
daemon.json
への変更は、NSX Advanced Load Balancer バージョン 18.2.11 および 20.1.2 以降のコントローラ アップグレード間で保持されます。