3.5. Cluster Network Operator 自定义资源 (CR)

Network.operator.openshift.io 自定义资源 (CR) 中的集群网络配置存储 Cluster Network Operator (CNO) 的配置设置。Operator 管理集群网络。

您可以通过在 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
      - 30s

1
用于指定从哪些 IP 地址块分配 Pod IP 地址以及分配给每个节点的子网前缀长度的列表。
2
服务的 IP 地址块。OpenShift SDN Container Network Interface (CNI) 插件只支持服务网络具有单个 IP 地址块。
3
为集群网络配置软件定义型网络 (SDN)。
4
此对象的参数指定 Kubernetes 网络代理 (kube-proxy) 配置。
5
iptables 规则的刷新周期。默认值为 30s。有效的后缀包括 smh,具体参见 Go 时间包文档。
6
刷新 iptables 规则前的最短时长。此参数确保刷新的频率不会过于频繁。有效的后缀包括 smh,具体参见 Go 时间包

3.5.1. OpenShift SDN 的配置参数

以下 YAML 对象描述了 OpenShift SDN 的配置参数:

defaultNetwork:
  type: OpenShiftSDN 1
  openshiftSDNConfig: 2
    mode: NetworkPolicy 3
    mtu: 1450 4
    vxlanPort: 4789 5
1
使用的软件定义型网络 (SDN) 插件。OpenShift SDN 是 OpenShift Container Platform 4.2 中唯一支持的插件。
2
OpenShift SDN 专用配置参数。
3
OpenShift SDN CNI 插件的网络隔离模式。
4
用于 VXLAN 覆盖网络的 MTU。这个值通常是自动配置的。
5
用于所有 VXLAN 数据包的端口。默认值为 4789

3.5.2. Cluster Network Operator 示例 CR

下例中显示了 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:
      - 30s