3.5. Cluster Network Operator (CNO) 配置
集群网络的配置作为 Cluster Network Operator (CNO) 配置的一部分被指定,并存储在名为 cluster
的 CR 对象中。CR 指定 operator.openshift.io
API 组中的 Network
API 的参数。
您可以通过在 CNO CR 中设置 defaultNetwork
参数的值,为 OpenShift Container Platform 集群指定集群网络配置。以下 CR 显示了 CNO 的默认配置,并列出了您可以配置的参数和有效的参数值:
Cluster Network Operator CR
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: 1 - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: 2 - 172.30.0.0/16 defaultNetwork: 3 ... kubeProxyConfig: 4 iptablesSyncPeriod: 30s 5 proxyArguments: iptables-min-sync-period: 6 - 0s
- 1
- 用于指定从哪些 IP 地址块分配 Pod IP 地址以及分配给每个节点的子网前缀长度的列表。
- 2
- 服务的 IP 地址块。OpenShift SDN Container Network Interface (CNI) 网络供应商只支持服务网络具有单个 IP 地址块。
- 3
- 为集群网络配置默认 CNI 供应商。
- 4
- 此对象的参数指定 Kubernetes 网络代理 (kube-proxy) 配置。如果您使用 OVN-Kubernetes 默认 CNI 网络供应商,则 kube-proxy 的配置不会起作用。
- 5
- 注意
由于 OpenShift Container Platform 4.3 及更高版本中引进了性能上的改进,现在不再需要调整
iptablesSyncPeriod
参数。 - 6
3.5.1. OpenShift SDN 网络供应商的配置参数
以下 YAML 对象描述了 OpenShift SDN 默认 Container Network Interface (CNI) 网络供应商的配置参数。
您只能在集群安装过程中更改默认 CNI 网络供应商的配置。
defaultNetwork: type: OpenShiftSDN 1 openshiftSDNConfig: 2 mode: NetworkPolicy 3 mtu: 1450 4 vxlanPort: 4789 5
3.5.2. OVN-Kubernetes 默认 CNI 网络供应商的配置参数
以下 YAML 对象描述了 OVN-Kubernetes 默认 CNI 网络供应商的配置参数。
您只能在集群安装过程中更改默认 CNI 网络供应商的配置。
defaultNetwork: type: OVNKubernetes 1 ovnKubernetesConfig: 2 mtu: 1400 3 genevePort: 6081 4
3.5.3. Cluster Network Operator 配置示例
下例中显示了 CNO 的一个完整 CR:
Cluster Network Operator 示例 CR
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 defaultNetwork: type: OpenShiftSDN openshiftSDNConfig: mode: NetworkPolicy mtu: 1450 vxlanPort: 4789 kubeProxyConfig: iptablesSyncPeriod: 30s proxyArguments: iptables-min-sync-period: - 0s