$ openstack subnet set --dns-nameserver 0.0.0.0 <subnet_id>
以下部分解释如何使用NetworkAttachmentDefinition
(NAD) 资源创建和管理附加主网络。
您可以使用以下两种方法之一来管理 NAD 创建的附加网络的生命周期
通过修改集群网络操作员 (CNO) 配置。使用此方法,CNO 会自动创建和管理NetworkAttachmentDefinition
对象。除了管理对象生命周期外,CNO 还会确保为使用 DHCP 分配的 IP 地址的附加网络提供 DHCP。
通过应用 YAML 清单。使用此方法,您可以通过创建NetworkAttachmentDefinition
对象来直接管理附加网络。此方法允许调用多个 CNI 插件以便在 Pod 中附加附加网络接口。
每种方法都是互斥的,一次只能使用一种方法来管理附加网络。对于任何一种方法,附加网络都由您配置的容器网络接口 (CNI) 插件管理。
在 Red Hat OpenStack Platform (RHOSP) 上使用 OVN SDN 部署具有多个网络接口的 OpenShift Container Platform 节点时,次要接口的 DNS 配置可能会优先于主接口的 DNS 配置。在这种情况下,请运行以下命令删除附加到次要接口的子网 ID 的 DNS 命名服务器
|
集群网络操作员 (CNO) 管理附加网络定义。当您指定要创建的附加网络时,CNO 会自动创建NetworkAttachmentDefinition
CRD。
不要编辑集群网络操作员管理的 |
安装 OpenShift CLI (oc
)。
以具有cluster-admin
权限的用户身份登录。
可选:为附加网络创建命名空间
$ oc create namespace <namespace_name>
要编辑 CNO 配置,请输入以下命令
$ oc edit networks.operator.openshift.io cluster
通过添加要创建的附加网络的配置来修改您正在创建的 CR,如下面的示例 CR 所示。
apiVersion: operator.openshift.io/v1
kind: Network
metadata:
name: cluster
spec:
# ...
additionalNetworks:
- name: tertiary-net
namespace: namespace2
type: Raw
rawCNIConfig: |-
{
"cniVersion": "0.3.1",
"name": "tertiary-net",
"type": "ipvlan",
"master": "eth1",
"mode": "l2",
"ipam": {
"type": "static",
"addresses": [
{
"address": "192.168.1.23/24"
}
]
}
}
保存更改并退出文本编辑器以提交更改。
通过运行以下命令确认 CNO 是否创建了NetworkAttachmentDefinition
CRD。CNO 创建 CRD 可能需要一些时间。
$ oc get network-attachment-definitions -n <namespace>
其中
<namespace>
指定您添加到 CNO 配置的网络附件的命名空间。
NAME AGE
test-network-1 14m
安装 OpenShift CLI (oc
)。
以具有cluster-admin
权限的用户身份登录。
创建包含附加网络配置的 YAML 文件,例如以下示例
apiVersion: k8s.cni.cncf.io/v1
kind: NetworkAttachmentDefinition
metadata:
name: next-net
spec:
config: |-
{
"cniVersion": "0.3.1",
"name": "work-network",
"type": "host-device",
"device": "eth1",
"ipam": {
"type": "dhcp"
}
}
要创建附加网络,请输入以下命令
$ oc apply -f <file>.yaml
其中
<file>
指定包含 YAML 清单的文件名。