ベアメタル (Docker) 環境で実行されているコントローラの IP アドレスを変更するには、次の手順を実行します。

手順

  1. ホストの network-scripts を手動で編集し、インターフェイス構成を変更することで、クラスタ内の各コントローラ ノードの IP アドレスを新しい IP に変更します。
  2. 新しいコントローラ IP アドレスが、他のコントローラ ノードからネットワーク内でアクセス可能であることを確認します。
  3. Controller Docker コンテナを実行している各ホストで /etc/systemd/system/avicontroller.service または /usr/sbin/avicontroller ファイルを編集し、必要に応じて古いコントローラ IP を新しいコントローラ IP で上書きします。

    以下の長いコマンド ラインには、サンプルの /etc/systemd/system/avicontroller.service ファイル内のコントローラ IP アドレスが含まれています。

    code>ExecStartPre=/usr/bin/docker run --name=avicontroller -m 48g --cpu-period=100000 --cpu-quota=2400000 -p 5098:5098 -p 8443:8443 -p 5054:5054 -p 80:80 -p 443:443 -p 161:161/udp -d --privileged -e "CONTAINER_NAME=avicontroller" -e "MANAGEMENT_IP=10.122.0.112" -e NUM_CPU=24 -e NUM_MEMG=48 -e DISK_GB=30 -e CNTRL_SSH_PORT=5098 -e SYSINT_PORT=8443 -e HTTP_PORT=80 -e HTTPS_PORT=443 -v /:/hostroot/ -v /dev:/dev -v /var/run/docker.sock:/var/run/docker.sock -v /run/xtables.lock:/run/xtables.lock -v /opt/avi/controller/data:/vol/ avinetworks/controller:18.2.5-5116-20190708.063533</code>
  4. 各コントローラ ホストで、管理者は次の 3 つのコマンドを実行します。
    systemctl daemon-relaod
    systemctl stop avicontroller
    systemctl start avicontroller
  5. 手順 3 のサンプルに対応するいずれかのコントローラ コンテナで、管理者は次のコマンドを実行します。
    cd /opt/avi/python/bin
    python change_ip.py -i 10.122.0.111 -o 10.122.0.112 -o 10.122.0.113
    

結果

Controller クラスタが新しい IP アドレスで再び稼動します。