跳到主內容

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