$ oc get -n openshift-network-operator deployment/network-operator
您可以使用集群网络操作符 (CNO) 在 OpenShift Container Platform 集群上部署和管理集群网络组件,包括在安装期间为集群选择的容器网络接口 (CNI) 网络插件。
集群网络操作符实现来自 `operator.openshift.io` API 组的 `network` API。操作符使用守护程序集部署 OVN-Kubernetes 网络插件或您在集群安装期间选择的网络提供程序插件。
集群网络操作符在安装期间作为 Kubernetes `Deployment` 部署。
运行以下命令以查看 Deployment 状态
$ oc get -n openshift-network-operator deployment/network-operator
NAME READY UP-TO-DATE AVAILABLE AGE
network-operator 1/1 1 1 56m
运行以下命令以查看集群网络操作符的状态
$ oc get clusteroperator/network
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE
network 4.16.1 True False False 50m
以下字段提供有关操作符状态的信息:`AVAILABLE`、`PROGRESSING` 和 `DEGRADED`。当集群网络操作符报告可用状态条件时,`AVAILABLE` 字段为 `True`。
每个新的 OpenShift Container Platform 安装都具有名为 `cluster` 的 `network.config` 对象。
使用 `oc describe` 命令查看集群网络配置
$ oc describe network.config/cluster
Name: cluster
Namespace:
Labels: <none>
Annotations: <none>
API Version: config.openshift.io/v1
Kind: Network
Metadata:
Creation Timestamp: 2024-08-08T11:25:56Z
Generation: 3
Resource Version: 29821
UID: 808dd2be-5077-4ff7-b6bb-21b7110126c7
Spec: (1)
Cluster Network:
Cidr: 10.128.0.0/14
Host Prefix: 23
External IP:
Policy:
Network Diagnostics:
Mode:
Source Placement:
Target Placement:
Network Type: OVNKubernetes
Service Network:
172.30.0.0/16
Status: (2)
Cluster Network:
Cidr: 10.128.0.0/14
Host Prefix: 23
Cluster Network MTU: 1360
Conditions:
Last Transition Time: 2024-08-08T11:51:50Z
Message:
Observed Generation: 0
Reason: AsExpected
Status: True
Type: NetworkDiagnosticsAvailable
Network Type: OVNKubernetes
Service Network:
172.30.0.0/16
Events: <none>
1 | `Spec` 字段显示集群网络的已配置状态。 |
2 | `Status` 字段显示集群网络配置的当前状态。 |
您可以使用 `oc describe` 命令检查状态并查看集群网络操作符的详细信息。
运行以下命令以查看集群网络操作符的状态
$ oc describe clusteroperators/network
从 OpenShift Container Platform 4.14 开始,基于 OVN-Kubernetes 的集群部署中全局 IP 地址转发被禁用,以防止节点充当路由器的集群管理员出现不良影响。但是,在管理员期望转发流量的某些情况下,可以使用新的配置参数 `ipForwarding` 来允许转发所有 IP 流量。
要在 OVN-Kubernetes 管理的接口上重新启用所有流量的 IP 转发,请按照以下步骤将集群网络操作符中的 `gatewayConfig.ipForwarding` 规范设置为 `Global`
通过运行以下命令备份现有网络配置
$ oc get network.operator cluster -o yaml > network-config-backup.yaml
运行以下命令以修改现有网络配置
$ oc edit network.operator cluster
在以下示例中所示的 `spec` 下添加或更新以下块
spec:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
serviceNetwork:
- 172.30.0.0/16
networkType: OVNKubernetes
clusterNetworkMTU: 8900
defaultNetwork:
ovnKubernetesConfig:
gatewayConfig:
ipForwarding: Global
保存并关闭文件。
应用更改后,OpenShift 集群网络操作符 (CNO) 会在整个集群中应用更新。您可以使用以下命令监控进度
$ oc get clusteroperators network
状态最终应报告为 `Available`、`Progressing=False` 和 `Degraded=False`。
或者,您可以通过运行以下命令全局启用 IP 转发
$ oc patch network.operator cluster -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"ipForwarding": "Global"}}}}}
此参数的另一个有效选项是 `Restricted`,如果您想恢复此更改。`Restricted` 是默认值,使用此设置将禁用全局 IP 地址转发。 |
您可以使用 `oc logs` 命令查看集群网络操作符日志。
运行以下命令以查看集群网络操作符的日志
$ oc logs --namespace=openshift-network-operator deployment/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
集群网络插件。安装过程中,唯一支持的插件是OVNKubernetes
。
集群安装后,您只能修改 |
您可以通过设置名为cluster
的 CNO 对象中defaultNetwork
对象的字段来指定集群的集群网络插件配置。
集群网络操作员 (CNO) 的字段在以下表格中描述
字段 | 类型 | 描述 |
---|---|---|
|
|
CNO 对象的名称。此名称始终为 |
|
|
指定分配 Pod IP 地址的 IP 地址块以及分配给集群中每个节点的子网前缀长度的列表。例如:
|
|
|
服务的 IP 地址块。OVN-Kubernetes 网络插件只支持服务网络的单个 IP 地址块。例如:
此值为只读,并在集群安装期间从名为 |
|
|
配置集群网络的网络插件。 |
|
|
此对象的字段指定 kube-proxy 配置。如果您使用的是 OVN-Kubernetes 集群网络插件,则 kube-proxy 配置无效。 |
对于需要跨多个网络部署对象的集群,请确保为 |
defaultNetwork
对象的值在以下表格中定义
字段 | 类型 | 描述 | ||
---|---|---|---|---|
|
|
|
||
|
|
此对象仅对 OVN-Kubernetes 网络插件有效。 |
下表描述了 OVN-Kubernetes 网络插件的配置字段
字段 | 类型 | 描述 | ||
---|---|---|---|---|
|
|
Geneve(通用网络虚拟化封装)覆盖网络的最大传输单元 (MTU)。此值通常自动配置。 |
||
|
|
Geneve 覆盖网络的 UDP 端口。 |
||
|
|
描述集群 IPsec 模式的对象。 |
||
|
|
指定 IPv4 设置的配置对象。 |
||
|
|
指定 IPv6 设置的配置对象。 |
||
|
|
指定一个配置对象来自定义网络策略审计日志记录。如果未设置,则使用默认审计日志设置。 |
||
|
|
可选:指定一个配置对象来自定义如何将出站流量发送到节点网关。
|
字段 | 类型 | 描述 |
---|---|---|
|
字符串 |
如果您的现有网络基础设施与 默认值为 |
|
字符串 |
如果您的现有网络基础设施与 默认值为 |
字段 | 类型 | 描述 |
---|---|---|
|
字符串 |
如果您的现有网络基础设施与 默认值为 |
|
字符串 |
如果您的现有网络基础设施与 默认值为 |
字段 | 类型 | 描述 |
---|---|---|
|
整数 |
每个节点每秒生成的最多消息数。默认值为每秒 |
|
整数 |
审计日志的最大大小(字节)。默认值为 |
|
整数 |
保留的最大日志文件数。 |
|
字符串 |
以下附加审计日志目标之一
|
|
字符串 |
syslog 设施,例如 RFC5424 中定义的 |
字段 | 类型 | 描述 |
---|---|---|
|
|
将此字段设置为 此字段与 Open vSwitch 硬件卸载功能交互。如果将此字段设置为 |
|
|
您可以使用 |
|
|
可选:指定一个对象来配置用于IPv4地址的主机到服务的内部OVN-Kubernetes伪装地址。 |
|
|
可选:指定一个对象来配置用于IPv6地址的主机到服务的内部OVN-Kubernetes伪装地址。 |
字段 | 类型 | 描述 | ||
---|---|---|---|---|
|
|
内部用于启用主机到服务流量的伪装IPv4地址。主机也配置了这些IP地址以及共享网关桥接接口。默认值为
|
字段 | 类型 | 描述 | ||
---|---|---|---|---|
|
|
内部用于启用主机到服务流量的伪装IPv6地址。主机也配置了这些IP地址以及共享网关桥接接口。默认值为
|
字段 | 类型 | 描述 |
---|---|---|
|
|
指定IPsec实现的行为。必须是以下值之一
|
您只能在集群安装期间更改集群网络插件的配置,但 |
defaultNetwork:
type: OVNKubernetes
ovnKubernetesConfig:
mtu: 1400
genevePort: 6081
ipsecConfig:
mode: Full