选择容器网络接口
虚拟私有云
查看以下有关选择容器网络接口 (CNI) 的信息。
在 Red Hat OpenShift on IBM Cloud 4.20 及更高版本中,Calico 是默认 CNI,但使用 RHCOS 工作节点的 VPC 群集可以选择开放虚拟网络 (OVN) 作为其群集 CNI。
- Calico 默认值
- Calico 是一个用于联网、网络安全和可观测性的单一平台,可用于云、内部部署或边缘的任何 Kubernetes 分布。 无论您是刚刚开始使用 Kubernetes 还是大规模运营,Calico 的开源、企业和云版本都能提供您所需的网络、安全性和可观测性。 更多信息,请参阅 Calico 文档。
- OVN- Kubernetes (OVN) 4.20 及更高版本 仅适用于 RHCOS 工作节点
- OVN- Kubernetes 基于开放虚拟网络(OVN),提供基于覆盖的网络实现。 使用 OVN- Kubernetes 插件的群集还在每个节点上运行 Open vSwitch (OVS)。 OVN 在每个节点上配置 OVS,以执行所声明的网络配置。 更多信息,请参阅 Red Hat 文档
Calico 和 OVN 的比较
查看下表,比较 Calico 和 OVN 的特性和功能。
使用 OVN 时,必须确保 VPC 子网不与下表中指定的其他子网重叠。 如果存在子网重叠,pod 与 pod 之间的联网就会失败。
Layer2 此外,layer3 用户定义网络(UDN)不支持使用DHCP的工作负载,例如 OpenShift 虚拟化虚拟机。
| 组件 | Calico | OVN- Kubernetes |
|---|---|---|
| 封装 |
|
|
| 默认群集网络/ Pod MTU | 默认为 1480 字节(20 字节 IPinIP 标头)。 这是可以改变的。 | 默认为 1400 字节(100 字节 Geneve 报头)。 这是可以改变的。 Daemonset 需要创建 NetworkManager 文件,而不是直接运行 ip link set dev ens3 mtu。 您还必须重新启动新的工作节点。 |
| 波德 IPAM | Calico 最初会为每个新节点分配一个 /26 子网(64 个 IP,其中至少一个通常用作 tunl0 IP,其余可用于 pod)。 如果使用了 /26 中的所有 pod IP,Calico 就会为节点分配第二个 /26 子网,并在需要时分配更多子网。 您可以使用 calicoctl ipam check 查看分配给每个节点的子网。 |
OVN 最初会为每个新群集节点分配 /24 pod 子网(256 个 IP)。 没有添加更多 pod 子网的选项。 它还会为每个新节点分配一个加入子网 IP,由 OVN 在内部使用 |
| 吊舱到吊舱路由 |
|
|
| Kubernetes 网络策略 |
|
|
| 主机网络政策 | Calico GlobalNetworkPolicies | 无 |
| 附加子网 | 无 |
|
| APIserver 手表 |
|
|
| CNI | calico 和 calico-ipam CNI 二进制文件由 calico-node pod 上的 install-cni initContainer 复制到每个节点。 |
ovnkube-node pod 的 ovnkube-controller 容器会执行用于添加和删除调用的 CNI 二进制文件。 |
| 已创建资源 |
|
|
| 吊舱之间的连接 |
|
|