6.4. 为外部负载平衡配置 SSL
要为外部负载均衡器配置加密端点,请创建额外的环境文件,使 SSL 访问端点,然后在外部负载平衡服务器上安装 SSL 证书和密钥的副本。默认情况下,overcloud 使用未加密的端点服务。
先决条件
如果您使用 IP 地址或域名访问公共端点,请选择以下环境文件之一包括在 overcloud 部署中:
-
要使用域名服务(DNS)访问公共端点,请使用文件
/usr/share/openstack-tripleo-heat-templates/environments/tls-endpoints-public-dns.yaml
。 -
要使用 IP 地址访问公共端点,请使用文件
/usr/share/openstack-tripleo-heat-templates/environments/tls-endpoints-public-ip.yaml
。
-
要使用域名服务(DNS)访问公共端点,请使用文件
流程
如果您使用自签名证书,或者证书签名者不在 overcloud 镜像的默认信任存储中,请通过从 heat 模板集合中复制
inject-trust-anchor.yaml
环境文件来将证书注入 overcloud 镜像中:$ cp -r /usr/share/openstack-tripleo-heat-templates/environments/inject-trust-anchor.yaml ~/templates/
在文本编辑器中打开该文件,并将 root 证书颁发机构文件的内容复制到
SSLRootCertificate
参数:parameter_defaults: SSLRootCertificate: | -----BEGIN CERTIFICATE----- MIIDgzCCAmugAwIBAgIJAKk46qw6ncJaMA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV ... sFW3S2roS4X0Af/kSSD8mlBBTFTCMBAj6rtLBKLaQbIxEpIzrgvp -----END CERTIFICATE-----
重要证书颁发机构内容为所有新行需要相同的缩进级别。
将
OS::TripleO::NodeTLSCAData:
参数的资源 URL 更改为绝对 URL:resource_registry: OS::TripleO::NodeTLSCAData: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/tls/ca-inject.yaml
可选:如果您使用 DNS 主机名通过 SSL/TLS 访问 overcloud,请创建一个新的环境文件
~/templates/cloudname.yaml
,并定义 overcloud 端点的主机名:parameter_defaults: CloudName: overcloud.example.com
将
overcloud.example.com
替换为 overcloud 端点的 DNS 主机名。