19.7. OpenStack Cloud Controller Manager 参考指南
19.7.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] enabled = true
clouds-value
值 /etc/openstack/secret/clouds.yaml
映射到 openshift-cloud-controller-manager
命名空间中的 openstack-cloud-credentials
配置。您可以像执行任何其他 clouds.yaml
文件一样修改此文件中的 RHOSP 云。
19.7.2. OpenStack Cloud Controller Manager (CCM) 配置映射
OpenStack CCM 配置映射定义集群如何与 RHOSP 云交互。默认情况下,此配置存储在 openshift-cloud-controller-manager
命名空间中的 cloud-conf
配置映射中的 cloud.conf
键下。
cloud-conf
配置映射从 openshift-config
命名空间中的 cloud-provider-config
配置映射生成。
要更改 cloud-conf
配置映射描述的设置,请修改 cloud-provider-config
配置映射。
作为此同步的一部分,CCM Operator 会覆盖一些选项。如需更多信息,请参阅 "RHOSP Cloud Controller Manager"。
例如:
cloud-conf
配置映射示例
apiVersion: v1
data:
cloud.conf: |
[Global] 1
secret-name = openstack-credentials
secret-namespace = kube-system
region = regionOne
[LoadBalancer]
enabled = True
kind: ConfigMap
metadata:
creationTimestamp: "2022-12-20T17:01:08Z"
name: cloud-conf
namespace: openshift-cloud-controller-manager
resourceVersion: "2519"
uid: cbbeedaf-41ed-41c2-9f37-4885732d3677
- 1
- 使用
clouds.yaml
文件而不是修改配置映射来设置全局选项。
配置映射中存在以下选项。除另有说明时,对于在 RHOSP 上运行的集群,它们是必需的。
19.7.2.1. 负载均衡器选项
CCM 为使用 Octavia 的部署支持多个负载均衡器选项。
neutron-rhcs 支持已弃用。
选项 | 描述 |
---|---|
|
是否启用 |
|
可选。用于为负载均衡器虚拟 IP 地址 (VIP) 创建浮动 IP 地址的外部网络。如果云中有多个外部网络,则必须设置此选项,或者用户必须在服务注解中指定 |
|
可选。用于为负载均衡器 VIP 创建浮动 IP 地址的外部网络子网。可以被服务注解 |
|
可选。一个名称特征(如果以 |
|
可选。用于为负载均衡器 VIP 创建浮动 IP 地址的外部网络子网的标签。可以被服务注解
如果 RHOSP 网络被配置为禁用共享,例如,创建过程中使用的 |
|
用于创建负载均衡器池的负载平衡算法。对于 Amphora 供应商,值可以是
对于 OVN 提供程序,只支持
对于 Amphora 供应商,如果使用 |
|
可选。用于指定负载均衡器的供应商,如 |
|
可选。负载均衡器 API 版本。仅支持 |
| 创建负载均衡器 VIP 的网络服务子网的 ID。对于双堆栈部署,请保留此选项未设置。OpenStack 云提供商自动选择要用于负载平衡器的子网。 |
|
创建负载均衡器 VIP 的网络服务网络的 ID。如果设置了 |
|
是否为服务负载均衡器创建运行状况监控器。声明
如果您使用早于 |
|
将探测发送到负载均衡器成员的时间间隔(以秒为单位)。默认值为 |
|
将负载均衡器成员的操作状态更改为 |
|
监控器在超时前等待连接到后端的时间(以秒为单位)。默认值为 |
|
是否在没有浮动 IP 地址的情况下创建内部负载均衡器。默认值为 |
| 这是一个 config 部分,其中包含一组选项:
这些选项的行为与 CCM 配置文件的负载均衡器部分相同的命名选项的行为相同。
您可以通过指定服务注解 |
|
可以共享负载均衡器的最大服务数。默认值为 |
19.7.2.2. Operator 覆盖的选项
CCM Operator 覆盖以下选项,您可以识别其配置 RHOSP。不要自行配置它们。本文档中包含它们仅用于信息。
选项 | 描述 |
---|---|
|
RHOSP Identity 服务 URL。例如: |
| 从服务目录使用的端点类型。 |
| Identity 服务用户名。 |
| Identity 服务用户密码。 |
| Identity 服务用户域 ID。 |
| Identity 服务用户域名。 |
| Identity 服务项目 ID。如果您使用 Identity 服务应用程序凭证,请保留这个选项。
在 Identity API 的版本 3 中,其标识符 |
| Identity 服务项目名称。 |
| Identity service 项目域 ID。 |
| Identity service 项目域名。 |
| Identity 服务用户域 ID。 |
| Identity 服务用户域名。 |
|
是否在 CCM 在以下位置搜索文件:
|
|
|
|
要使用的 |