メインコンテンツにスキップ

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サブネットを使用します:

  1. ベースネットワーク:172.31.0.0/16
  2. BIP: 172.30.0.1/24

前提条件

  1. IP変更ツールをダウンロード:change-docker-ip.zip
  2. ツールの内容を確認してください。抽出されたzipファイルには、以下のファイルが含まれています:
    1. change-docker-ip.sh:DockerのデフォルトのIPサブネットを変更するための機能スクリプト。
    2. 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

lsblk コマンドで USB デバイスを特定する

USBデバイスをファイルシステムにマウントする

mount /dev/vdc1 /mnt/usb
lsblk

USBデバイスをファイルシステムにマウントする

変更ツールのリスト表示と確認

cd /mnt/usb/
ls

変更一覧・確認ツール

Docker ネットワーク変更ツールを実行する

./change-docker-ip.sh

Dockerネットワーク変更ツールを実行する

USBを取り外す

cd ~
umount /mnt/usb
lsblk

USBを取り外す

CubeCOSのインストールを続行する

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