1.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/
$ cp -r /usr/share/openstack-tripleo-heat-templates/environments/inject-trust-anchor.yaml ~/templates/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在文本编辑器中打开文件,并将 root 证书颁发机构文件的内容复制到
SSLRootCertificate
参数:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要证书颁发机构内容要求所有新行相同的缩进级别。
将
OS::TripleO::NodeTLSCAData:
参数的资源 URL 更改为绝对 URL:resource_registry: OS::TripleO::NodeTLSCAData: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/tls/ca-inject.yaml
resource_registry: OS::TripleO::NodeTLSCAData: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/tls/ca-inject.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您使用 DNS 主机名通过 SSL/TLS 访问 overcloud,请创建一个新的环境文件
~/templates/cloudname.yaml
,并在以下参数中定义 overcloud 端点的主机名:parameter_defaults: CloudName: overcloud.example.com DnsServers: 10.0.0.1
parameter_defaults: CloudName: overcloud.example.com DnsServers: 10.0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下值替换为环境中的实际值:
-
cloud
Name :将overcloud.example.com
替换为 overcloud 端点的 DNS 主机名。 -
DnsServers
:要使用的 DNS 服务器列表。配置的 DNS 服务器必须包含配置的CloudName
条目,它与 Public API 的 IP 匹配。
-