This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.5.8. 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
对象的字段来为集群指定集群网络供应商配置。
3.5.8.1. Cluster Network Operator 配置对象
Cluster Network Operator(CNO)的字段在下表中描述:
字段 | 类型 | 描述 |
---|---|---|
|
|
CNO 对象的名称。这个名称始终是 |
|
| 用于指定从哪些 IP 地址块分配 Pod IP 地址以及分配给集群中每个节点的子网前缀长度的列表。例如: spec: clusterNetwork: - cidr: 10.128.0.0/19 hostPrefix: 23 - cidr: 10.128.32.0/19 hostPrefix: 23
此值是只读的,并在 |
|
| 服务的 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 配置示例
defaultNetwork: type: OpenShiftSDN openshiftSDNConfig: mode: NetworkPolicy mtu: 1450 vxlanPort: 4789
defaultNetwork:
type: OpenShiftSDN
openshiftSDNConfig:
mode: NetworkPolicy
mtu: 1450
vxlanPort: 4789
配置 OVN-Kubernetes CNI 集群网络供应商
下表描述了 OVN-Kubernetes CNI 集群网络供应商的配置字段。
字段 | 类型 | 描述 |
---|---|---|
|
| Geneve(Generic Network Virtualization Encapsulation)覆盖网络的最大传输单元(MTU)。这根据主网络接口的 MTU 自动探测。您通常不需要覆盖检测到的 MTU。 如果自动探测的值不是您期望的,请确认节点上主网络接口中的 MTU 是正确的。您不能使用这个选项更改节点上主网络接口的 MTU 值。
如果您的集群中的不同节点需要不同的 MTU 值,则必须将此值设置为比集群中的最低 MTU 值小 集群安装后无法更改这个值。 |
|
|
用于所有 Geneve 数据包的端口。默认值为 |
OVN-Kubernetes 配置示例
defaultNetwork: type: OVNKubernetes ovnKubernetesConfig: mtu: 1400 genevePort: 6081
defaultNetwork:
type: OVNKubernetes
ovnKubernetesConfig:
mtu: 1400
genevePort: 6081
kubeProxyConfig 对象配置
kubeProxyConfig
对象的值在下表中定义:
字段 | 类型 | 描述 |
---|---|---|
|
|
注意
由于 OpenShift Container Platform 4.3 及更高版本中引进了性能上的改进,现在不再需要调整 |
|
|
刷新 kubeProxyConfig: proxyArguments: iptables-min-sync-period: - 0s
|