更改預設 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 安裝指南 。