2.2. 使用 NetworkAttachmentDefinition 创建主网络
以下小节解释了如何使用 NetworkAttachmentDefinition
(NAD) 资源创建和管理主网络。
2.2.1. 管理主网络的方法 复制链接链接已复制到粘贴板!
您可以使用以下两种方法之一管理由 NAD 创建的主网络的生命周期:
-
通过修改 Cluster Network Operator (CNO) 配置。使用此方法时,CNO 会自动创建和管理
NetworkAttachmentDefinition
对象。除了管理对象生命周期外,CNO 还可确保 DHCP 可用于使用 DHCP 分配 IP 地址的主网络。 -
通过应用 YAML 清单。使用此方法,您可以通过创建
NetworkAttachmentDefinition
对象直接管理主网络。此方法可以调用多个 CNI 插件,以便在 pod 中附加主网络接口。
每种方法都是相互排斥的,您一次只能使用一种方法来管理主网络。对于任一方法,主网络由您配置的 Container Network Interface (CNI) 插件管理。
当使用 OVN SDN 在 Red Hat OpenStack Platform (RHOSP) 中使用多个网络接口部署 OpenShift Container Platform 节点时,二级接口的 DNS 配置可能会优先于主接口的 DNS 配置。在这种情况下,运行以下命令删除附加到二级接口的子网 ID 的 DNS 名称服务器:
openstack subnet set --dns-nameserver 0.0.0.0 <subnet_id>
$ openstack subnet set --dns-nameserver 0.0.0.0 <subnet_id>
2.2.2. 使用 Cluster Network Operator 创建主网络附加 复制链接链接已复制到粘贴板!
Cluster Network Operator (CNO) 管理额外网络定义。当您指定要创建的主网络时,CNO 会自动创建 NetworkAttachmentDefinition
自定义资源定义(CRD)。
请勿编辑 Cluster Network Operator 所管理的 NetworkAttachmentDefinition
CRD。这样做可能会破坏主网络上的网络流量。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
特权的用户身份登录。
流程
可选:为主网络创建命名空间:
oc create namespace <namespace_name>
$ oc create namespace <namespace_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要编辑 CNO 配置,请输入以下命令:
oc edit networks.operator.openshift.io cluster
$ oc edit networks.operator.openshift.io cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过为您要创建的主网络添加配置来修改您要创建的 CR,如下例所示。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存您的更改,再退出文本编辑器以提交更改。
验证
运行以下命令确认 CNO 创建了
NetworkAttachmentDefinition
CRD。CNO 创建 CRD 之前可能会有延迟。预期输出显示 NAD CRD 的名称并创建期限(以分钟为单位)。oc get network-attachment-definitions -n <namespace>
$ oc get network-attachment-definitions -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
<namespace>
- 指定添加到 CNO 配置中的网络附加的命名空间。
2.2.2.1. 配置主网络附加 复制链接链接已复制到粘贴板!
主网络通过使用 k8s.cni.cncf.io
API 组中的 NetworkAttachmentDefinition
API 来配置。
下表中描述了 API 的配置:
字段 | 类型 | 描述 |
---|---|---|
|
| 主网络的名称。 |
|
| 与对象关联的命名空间。 |
|
| JSON 格式的 CNI 插件配置。 |
2.2.3. 通过应用 YAML 清单来创建主网络附加 复制链接链接已复制到粘贴板!
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您已以具有
cluster-admin
权限的用户身份登录。 - 您在要部署 NAD 的命名空间中工作。
流程
使用主网络配置创建 YAML 文件,如下例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 可选:您可以指定 NAD 应用到的命名空间。如果您在要部署 NAD 的命名空间中工作,则不需要此规格。
运行以下命令来创建主网络:
oc apply -f <file>.yaml
$ oc apply -f <file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
<file>
- 指定包含 YAML 清单的文件名。