9.4. 从 control plane 中删除服务
通过禁用该服务,您可以在部署后从 control plane 完全删除服务数据库。许多服务默认为启用,这意味着 OpenStack Operator 会创建服务数据库和 Identity 服务(keystone)用户等资源,即使服务 pod 没有创建,因为 副本 被设置为 0。
请谨慎删除服务。删除服务与停止服务 pod 不同。删除服务是不可逆的。禁用服务会删除服务数据库,以及引用该服务的任何资源将不再被跟踪。在删除服务前,创建服务数据库的备份。
流程
-
在工作站上打开
OpenStackControlPlaneCR 文件。 找到您要从 control plane 中删除的服务并禁用它:
cinder: enabled: false apiOverride: route: {} ...更新 control plane:
$ oc apply -f openstack_control_plane.yaml -n openstack等待 RHOCP 删除与已禁用的服务相关的资源。运行以下命令来检查状态:
$ oc get openstackcontrolplane -n openstack NAME STATUS MESSAGE openstack-control-plane Unknown Setup started当状态为 "Setup complete" 时,
OpenStackControlPlane资源会使用禁用的服务进行更新。提示将
-w选项附加到get命令的末尾,以跟踪部署进度。可选:通过查看
openstack命名空间中的 pod,确认已禁用服务中的 pod 不再被列出:$ oc get pods -n openstack检查服务是否已移除:
$ oc get cinder -n openstack当服务成功删除时,这个命令会返回以下信息:
No resources found in openstack namespace.检查服务的 API 端点是否已从 Identity 服务(keystone)中删除:
$ oc rsh -n openstack openstackclient $ openstack endpoint list --service volumev3当成功删除该服务的 API 端点时,这个命令会返回以下信息:
No service with a type, name or ID of 'volumev3' exists.