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