選擇容器網路介面
虛擬私有雲
檢視下列選擇容器網路介面 (CNI) 的資訊。
在 Red Hat OpenShift on IBM Cloud 4.20 及以後的版本中,Calico 是預設 CNI,但使用 RHCOS 工作節點的 VPC 群集可選擇 Open Virtual Network (OVN) 作為其群集 CNI。
- Calico 預設
- Calico 是一個單一平台,可為雲端、內部或邊緣的任何 Kubernetes 分佈提供網路、網路安全性及可觀察性。 無論您是剛開始使用 Kubernetes 或進行大規模作業,Calico 的開放原始碼、企業版和雲端版都能提供您所需的網路、安全性和可觀察性。 如需詳細資訊,請參閱 Calico 文件。
- OVN- Kubernetes (OVN) 4.20 及後續版本 僅限 RHCOS 工作節點
- OVN- Kubernetes 基於 Open Virtual Network (OVN),提供基於覆疊的網路實作。 使用 OVN- Kubernetes 外掛的群集也會在每個節點上執行 Open vSwitch (OVS)。 OVN 會在每個節點上設定 OVS,以執行宣告的網路組態。 如需詳細資訊,請參閱 Red Hat 文件
比較 Calico 和 OVN
檢視下表,比較 Calico 和 OVN 的特色和功能。
使用 OVN 時,您必須確保 VPC 子網路不會與下表指定的其他子網路重疊。 如果有子網路重疊,pod 對 pod 的網路連線就會失敗。
Layer2 此外,layer3 的使用者自訂網路 (UDN) 不支援使用 DHCP 的工作負載,例如 OpenShift Virtualization 虛擬機器。
| 元件 | Calico | OVN- Kubernetes |
|---|---|---|
| 封裝 |
|
|
| 預設群集網路 / Pod MTU | 預設為 1480 位元組(20 位元組 IPinIP 標頭)。 這是可以改變的。 | 預設為 1400 位元組 (100 位元組 Geneve 標頭)。 這是可以改變的。 Daemonset 需要建立 NetworkManager 檔案,而不只是執行 ip link set dev ens3 mtu。 您也必須重新啟動新的工作站節點。 |
| Pod IPAM | Calico 最初會為每個新節點分配一個 /26 子網路 (64 個 IP,通常至少有一個用作 tunl0 IP,其餘的可用於 Pod)。 如果使用了 /26 中的所有 pod IP,則 Calico 會為節點指派第二個 /26 子網路,並在需要時指派更多子網路。 您可以使用 calicoctl ipam check 查看分配給每個節點的子網路。 |
OVN 初期會分配 /24 pod 子網路 (256 IP) 給每個新的群集節點。 沒有選項可以新增任何 pod 子網路。 它還會為每個新節點分配一個加入子網路 IP,OVN 會在內部使用該 IP |
| Pod 至 Pod 路由 |
|
|
| Kubernetes 網路原則 |
|
|
| 主機網路政策 | Calico GlobalNetworkPolicies | 無 |
| 附加子網路 | 無 |
|
| APIserver 腕錶 |
|
|
| CNI | calico 和 calico-ipam CNI 二進位檔會由 calico-node pod 上的 install-cni initContainer 複製到每個節點。 |
ovnkube-node pod 的 ovnkube-controller 容器會執行新增和刪除呼叫的 CNI 二進位檔案。 |
| 已建立的資源 |
|
|
| 吊艙之間的連接 |
|
|