第 9 章 OpenStack Cloud Controller Manager 参考指南
9.1. OpenStack Cloud Controller Manager
从 OpenShift Container Platform 4.12 开始,在 Red Hat OpenStack Platform (RHOSP) 上运行的集群从旧的 OpenStack 云供应商切换到外部 OpenStack Cloud Controller Manager (CCM)。此更改遵循 Kubernetes 的变化,它从 in-tree(传统的云供应商)变为使用 Cloud Controller Manager 实施的外部云供应商。
要为旧的云供应商保留用户定义的配置,现有配置作为迁移过程的一部分映射到新的配置。它会在 openshift-config
命名空间中搜索名为 cloud-provider-config
的配置。
配置映射名称 cloud-provider-config
没有静态配置。它源自 infrastructure/cluster
CRD 中的 spec.cloudConfig.name
值。
找到的配置与 openshift-cloud-controller-manager
命名空间中的 cloud-conf
配置映射同步。
作为此同步的一部分,OpenStack CCM Operator 会更改新的配置映射,以便其属性与外部云供应商兼容。该文件通过以下方式更改:
-
[Global] secret-name
,[Global] secret-namespace
, 和[Global] kubeconfig-path
选项会被删除。它们不适用于外部云供应商。 -
添加
[Global] use-clouds
,[Global] clouds-file
, 和[Global] cloud
选项。 -
整个
[BlockStorage]
部分已被删除。外部云供应商不再执行存储操作。块存储配置由 Cinder CSI 驱动程序管理。
另外,CCM Operator 会强制执行多个默认选项。这些选项的值始终被覆盖,如下所示:
[Global]
use-clouds = true
clouds-file = /etc/openstack/secret/clouds.yaml
cloud = openstack
...
[LoadBalancer]
use-octavia = true
enabled = true 1
- 1
- 如果网络被配置为使用 Kuryr,则默认值为
false
。
clouds-value
值 /etc/openstack/secret/clouds.yaml
映射到 openshift-cloud-controller-manager
命名空间中的 openstack-cloud-credentials
配置。您可以像执行任何其他 clouds.yaml
文件一样修改此文件中的 RHOSP 云。