Dockerのデフォルトネットワークを上書きする
概要
CubeCOSのデフォルトのDockerブリッジネットワークは、既存のネットワーク設定と競合する可能性があります。
詳細
問題の説明
インストール中、CubeCOS は 172.17.0.0/16 サブネットを使用する Docker ブリッジネットワークを自動的に作成します。 このデフォルトの設定により、ローカルのDockerネットワーク上でコンテナ間の通信が可能になります。
環境によっては、このサブネットが既存のプライベートネットワークの範囲と競合し、次のようなネットワークの問題を引き起こす可能性があります:
- コンテナは外部サービスにアクセスできません。
- コンテナとホスト間の通信に失敗します。
- 経路が重複すると、ネットワークの挙動が予測不能になる。
これらの競合は通常、以下のいずれかの条件が満たされる場合に発生します:
- 既存のネットワークインフラストラクチャでは、すでに
172.17.0.0/16サブネットが使用されています。 - CubeCOSクラスタ管理ネットワークには、同じサブネットが割り当てられています。
IPアドレスの競合を防ぐため、Dockerのブリッジ設定のデフォルトを上書きし、既存のネットワーク範囲と重複しないカスタムサブネットを割り当ててください。
対象バージョン
CubeCOS 2.4 以降
この記事は、CubeCOS バージョン 2.4 以降が動作する環境に適用されます。
決議
警告
この修正は、CubeCOSノードのインストールを開始する前に適用する必要があります。
この設定は、インターネット接続の設定を行う前に実施する必要があります。この段階では、CubeCOSノードは外部へのアクセスができないためです。
この修正を適用するには、インストール前にUSBメディアを使用して、各ノードに設定ツールまたはパッチファイルを手動で転送してください。 これにより、Dockerのブリッジネットワークが正しく上書きされ、デプロイ時のサブネットの競合を回避できます。
Docker IP変更ツールは、以下の新しいDockerサブネットを使用します:
- ベースネットワーク:
172.31.0.0/16 - BIP:
172.30.0.1/24
前提条件
- IP変更ツールをダウンロード:change-docker-ip.zip
- ツールの内容を確認してください。抽出されたzipファイルには、以下のファイルが含まれています:
change-docker-ip.sh:DockerのデフォルトのIPサブネットを変更するための機能スクリプト。daemon.json: Dockerのサブネット設定ファイル。
各CubeCOSノードにログインしてください
unconfigured login: root
Password:
Last login: Thu May 1 23:02:34 on tty1
Welcome to CUBE_2.4.3_20240905-0425_b37483f3
USBデバイスを特定する
lsblk

USBデバイスをファイルシステムにマウントする
mount /dev/vdc1 /mnt/usb
lsblk

変更ツールのリスト表示と確認
cd /mnt/usb/
ls

Docker ネットワーク変更ツールを実行する
./change-docker-ip.sh

USBを取り外す
cd ~
umount /mnt/usb
lsblk

CubeCOSのインストールを続行する
ネットワークの競合が解決されたら、CubeCOSのインストールガイドに従って、クラスタの展開を続けてください。