4.5.2. 多个容器供应商
除了提供 playbook 以将当前 OpenShift Container Platform 集群集成到 Red Hat CloudForms 部署中,此角色包含一个脚本,允许您在任何任意红帽 CloudForms 服务器中添加多个容器平台作为容器供应商。容器平台可以是 OpenShift Container Platform 或 OpenShift Origin。
在运行 playbook 时,使用多个提供程序脚本需要在 CLI 上手动配置和设置 EXTRA_VARS
参数。
4.5.2.1. 准备脚本
要准备多个供应商脚本,请完成以下手动配置:
- 复制 /usr/share/ansible/openshift-ansible/roles/openshift_management/files/examples/container_providers.yml 示例,如 /tmp/cp.yml。您将修改此文件。
-
如果您更改了红帽 CloudForms 名称或密码,请更新您复制的 container_providers.yml 文件中的
management_server
键中的hostname
、user和
password
参数。 填写您要添加为容器供应商的每个容器平台集群的
container_providers
键下的条目。必须配置以下参数:
-
auth_key
- 这是具有cluster-admin
权限的服务帐户的令牌。 -
hostname
- 这是指向集群 API 的主机名。每个容器提供程序必须具有唯一的主机名。 -
name -
这是要在红帽 CloudForms 服务器容器提供程序概览页面中显示的集群名称。这必须是唯一的。
提示从集群中获取
auth_key
bearer 令牌:$ oc serviceaccounts get-token -n management-infra management-admin
-
可选择性地配置以下参数:
-
port
- 如果您的容器平台集群在8443
之外的端口上运行 API,则更新此密钥。 -
endpoint
- 您可以启用 SSL验证(verify_ssl
),或将验证设置更改为ssl-with-validation
。目前不支持自定义可信 CA 证书。
-
4.5.2.1.1. 示例
例如,请考虑以下情况:
- 您可以将 container_providers.yml 文件复制到 /tmp/cp.yml。
- 您需要添加两个 OpenShift Container Platform 集群。
-
您的红帽 CloudForms 服务器在
mgmt.example.com
上运行
在这种情况下,您将自定义 /tmp/cp.yml,如下所示:
container_providers: - connection_configurations: - authentication: {auth_key: "<token>", authtype: bearer, type: AuthToken} 1 endpoint: {role: default, security_protocol: ssl-without-validation, verify_ssl: 0} hostname: "<provider_hostname1>" name: <display_name1> port: 8443 type: "ManageIQ::Providers::Openshift::ContainerManager" - connection_configurations: - authentication: {auth_key: "<token>", authtype: bearer, type: AuthToken} 2 endpoint: {role: default, security_protocol: ssl-without-validation, verify_ssl: 0} hostname: "<provider_hostname2>" name: <display_name2> port: 8443 type: "ManageIQ::Providers::Openshift::ContainerManager" management_server: hostname: "<hostname>" user: <user_name> password: <password>