12.2. TLS 用于公共端点 DNS 名称
要引用公共端点 DNS 名称,请通过创建 ConfigMap 资源来存储 CA 证书,然后将您的 CA 证书添加到 openstackclient pod 中,然后在 OpenStackControlPlane 资源中引用该 ConfigMap 资源。
流程
创建
ConfigMap资源以存储 CA 证书: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> 替换为 overcloud control plane 的名称。
-
将
-
在
~/custom_environment_files目录中创建一个名为tls-certs.yaml的文件,它使用SSLCertificate、SSLIntermediateCertificate、SSLKey和CAMap参数为部署指定生成的证书。 更新
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配置文件,以便为公共端点 DNS 名称配置 TLS:apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackConfigGenerator … spec: … heatEnvs: - ssl/tls-endpoints-public-dns.yaml - ssl/enable-tls.yaml … heatEnvConfigMap: heat-env-config tarballConfigMap: tripleo-tarball-config-
使用
OpenStackConfigGenerator生成 Ansible playbook,并应用 overcloud 配置。如需更多信息,请参阅使用 director Operator 配置和部署 overcloud。