7.2.11. Cluster Network Operator 配置
集群网络的配置作为 Cluster Network Operator (CNO) 配置的一部分被指定,并存储在名为 cluster的自定义资源(CR)对象中。CR 指定 operator.openshift.io API 组中的 Network API 的字段。
CNO 配置会在集群安装过程中从 Network.config.openshift.io API 组中的 Network API 继承以下字段,这些字段无法更改:
clusterNetwork- 从中分配 pod IP 地址的 IP 地址池。
serviceNetwork- 服务的 IP 地址池。
defaultNetwork.type- 集群网络供应商,如 OpenShift SDN 或 OVN-Kubernetes。
您可以通过在名为 cluster 的 CNO 对象中设置 defaultNetwork 对象的字段来为集群指定集群网络供应商配置。
7.2.11.1. Cluster Network Operator 配置对象 复制链接链接已复制到粘贴板!
Cluster Network Operator(CNO)的字段在下表中描述:
| 字段 | 类型 | 描述 |
|---|---|---|
|
|
|
CNO 对象的名称。这个名称始终是 |
|
|
| 用于指定从哪些 IP 地址块分配 Pod IP 地址以及分配给集群中每个节点的子网前缀长度的列表。例如:
此值是只读的,并在 |
|
|
| 服务的 IP 地址块。OpenShift SDN 和 OVN-Kubernetes Container Network Interface(CNI)网络供应商只支持服务网络具有单个 IP 地址块。例如: spec: serviceNetwork: - 172.30.0.0/14
此值是只读的,并在 |
|
|
| 为集群网络配置 Container Network Interface(CNI)集群网络供应商。 |
|
|
| 此对象的字段指定 kube-proxy 配置。如果您使用 OVN-Kubernetes 集群网络供应商,则 kube-proxy 的配置不会起作用。 |
defaultNetwork 对象配置
defaultNetwork 对象的值在下表中定义:
| 字段 | 类型 | 描述 |
|---|---|---|
|
|
|
注意 OpenShift Container Platform 默认使用 OpenShift SDN Container Network Interface(CNI)集群网络供应商。 |
|
|
| 此对象仅对 OpenShift SDN 集群网络供应商有效。 |
|
|
| 此对象仅对 OVN-Kubernetes 集群网络供应商有效。 |
配置 OpenShift SDN CNI 集群网络供应商
下表描述了 OpenShift SDN Container Network Interface(CNI)集群网络供应商的配置字段。
| 字段 | 类型 | 描述 |
|---|---|---|
|
|
|
配置 OpenShift SDN 的网络隔离模式。默认值为
|
|
|
| VXLAN 覆盖网络的最大传输单元 (MTU) 。这根据主网络接口的 MTU 自动探测。您通常不需要覆盖检测到的 MTU。 如果自动探测的值不是您期望的,请确认节点上主网络接口中的 MTU 是正确的。您不能使用这个选项更改节点上主网络接口的 MTU 值。
如果您的集群中的不同节点需要不同的 MTU 值,则必须将此值设置为比集群中的最低 MTU 值小 集群安装后无法更改这个值。 |
|
|
|
用于所有 VXLAN 数据包的端口。默认值为 如果您在虚拟环境中运行,并且现有节点是另一个 VXLAN 网络的一部分,那么可能需要更改此值。例如,当在 VMware NSX-T 上运行 OpenShift SDN 覆盖时,您必须为 VXLAN 选择一个备用端口,因为两个 SDN 都使用相同的默认 VXLAN 端口号。
在 Amazon Web Services (AWS) 上,您可以在端口 |
OpenShift SDN 配置示例
配置 OVN-Kubernetes CNI 集群网络供应商
下表描述了 OVN-Kubernetes CNI 集群网络供应商的配置字段。
| 字段 | 类型 | 描述 |
|---|---|---|
|
|
| Geneve(Generic Network Virtualization Encapsulation)覆盖网络的最大传输单元(MTU)。这根据主网络接口的 MTU 自动探测。您通常不需要覆盖检测到的 MTU。 如果自动探测的值不是您期望的,请确认节点上主网络接口中的 MTU 是正确的。您不能使用这个选项更改节点上主网络接口的 MTU 值。
如果您的集群中的不同节点需要不同的 MTU 值,则必须将此值设置为比集群中的最低 MTU 值小 集群安装后无法更改这个值。 |
|
|
|
用于所有 Geneve 数据包的端口。默认值为 |
|
|
| 指定一个空对象来启用 IPsec 加密。集群安装后无法更改这个值。 |
OVN-Kubernetes 配置示例
kubeProxyConfig 对象配置
kubeProxyConfig 对象的值在下表中定义:
| 字段 | 类型 | 描述 |
|---|---|---|
|
|
|
注意
由于 OpenShift Container Platform 4.3 及更高版本中引进了性能上的改进,现在不再需要调整 |
|
|
|
刷新 kubeProxyConfig:
proxyArguments:
iptables-min-sync-period:
- 0s
|