第 12 章 使用 director Operator 为公共端点部署 TLS
使用 TLS 部署 overcloud,为 RHOSP Director Operator 创建公共端点 IP 或 DNS 名称。
前提条件
- OpenShift Container Platform 集群可以正常工作。
- 您已正确安装了 director Operator。
-
您已在工作站上安装了
oc
命令行工具。
12.1. 用于公共端点 IP 地址的 TLS
要引用公共端点 IP 地址,请在 openstackclient
pod 中添加证书。
前提条件
- 使用流程创建证书颁发机构、密钥和证书: 在 overcloud 公共端点 上启用 SSL/TLS。
流程
创建
ConfigMap
以存储 CA 证书。ConfigMap
是用于使用 OpenStackControlPlane 对象将 CA 证书添加到openstackclient
pod 的接口:apiVersion: v1 kind: ConfigMap metadata: name: cacerts namespace: openstack data: local_CA: | -----BEGIN CERTIFICATE----- … -----END CERTIFICATE----- another_CA: | -----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----
创建 OpenStackControlPlane 并引用
ConfigMap
:apiVersion: osp-director.openstack.org/v1beta2 kind: OpenStackControlPlane metadata: name: <overcloud> namespace: openstack spec: caConfigMap: cacerts
-
将
<overcloud
> 替换为您的堆栈的名称。
-
将
在
~/custom_environment_files
目录中,创建一个名为tls-certs.yaml
的文件,其中包含使用SSLCertificate
、SSLIntermediateCertificate
、SSLKey
和CAMap
参数为部署生成的证书。注意有关创建证书文件的更多信息,请参阅启用 SSL/TLS。
更新
heatEnvConfigMap
以添加tls-certs.yaml
文件:$ oc create configmap -n openstack heat-env-config --from-file=~/custom_environment_files/ --dry-run=client -o yaml | oc apply -f -
创建 OpenStackConfigGenerator 并添加所需的
heatEnvs
配置文件,以便为公共端点 IP 配置 TLS:apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackConfigGenerator … spec: … heatEnvs: - ssl/tls-endpoints-public-ip.yaml - ssl/enable-tls.yaml … heatEnvConfigMap: heat-env-config tarballConfigMap: tripleo-tarball-config
OpenStackConfigGenerator 和一个新的 OpenStackConfigVersion 被创建,使用 OpenStackDeploy 资源针对 overcloud 运行 Ansible playbook:
其它资源