2.2. 更新部署的 data plane 节点上的网络配置
您可以为部署的 data plane 节点集更新节点网络配置。例如,当您想要更改 NetConfig 子网中的网关 IP 时,这很有用。要将网络更改应用到现有的 data plane 节点,您必须重新部署节点集。
最初创建 data plane 网络后,并非所有网络配置参数均可更新。如果您尝试修改只能在初始网络创建时设置的参数,则在尝试应用更改时会返回错误。
流程
-
在工作站上打开
NetConfig自定义资源(CR)文件,如openstack_netconfig.yaml。 根据需要更新
NetConfigCR 中的节点网络配置。提示如果要在
NetConfig子网中更改网关 IP,请确保在更新NetConfigCR 前可以访问新网关。另外,验证切换到新网关不会影响节点上运行的任何服务。更新 data plane 网络:
$ oc apply -f openstack_netconfig.yaml -n openstack-
为您要更新的节点集打开
OpenStackDataPlaneNodeSetCR 文件,如openstack_data_plane.yaml。 将
edpm_network_config_update字段设置为true:spec: ... nodeTemplate: ... ansible: ... ansibleVars: ... edpm_network_config_update: true应用更新的
OpenStackDataPlaneNodeSetCR 配置:$ oc apply -f openstack_data_plane.yaml创建
OpenStackDataPlaneDeploymentCR,将更新的网络配置应用到节点:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <node_set_deployment_name> namespace: openstack spec: nodeSets: - <nodeSet_name> servicesOverride: - configure-network-
metadata.name:OpenStackDataPlaneDeploymentCR 的名称。名称必须是唯一的,必须包含小写字母数字字符 -(hyphen)或 . (period),且必须以字母数字字符开头和结尾。 -
spec.nodeSets:列出包含您要更新节点的OpenStackDataPlaneNodeSetCR。 -
spec.servicesOverride:指定要运行的唯一服务的名称。设置为configure-network服务,以仅更新节点集的网络配置。
-
部署修改后的
OpenStackDataPlaneNodeSetCR:$ oc create -f openstack_data_plane_deploy.yaml -n openstack验证修改后的
OpenStackDataPlaneNodeSetCR 是否已部署:$ oc -n openstack wait openstackdataplanedeployment data-plane-node-set --for condition=Ready --timeout=20m登录到数据平面节点,以确认已应用了网络配置。例如,如果您更改了
NetConfig子网中的网关 IP,请使用以下命令:$ ssh <data_plane_node> [root@data_plane_node ~]# ip r default via 192.168.122.1 dev br-ex proto static为您更新的节点集打开
OpenStackDataPlaneNodeSetCR 文件,并将edpm_network_config_update字段重置为false。重要如果您没有将
edpm_network_config_update字段重置为false,节点可能会丢失网络访问。每当edpm_network_config_update为true时,每次创建OpenStackDataPlaneDeploymentCR 时,都会重新应用更新的网络配置,其中包括作为servicesOverride列表成员的configure-network服务。应用更新的
OpenStackDataPlaneNodeSetCR 配置:$ oc apply -f openstack_data_plane.yaml