3.3. 配置负载平衡服务证书和密钥
您可以配置 Red Hat OpenStack Platform (RHOSP) director 以生成证书和密钥,或者提供自己的内容。配置 director 以自动创建所需的私有证书颁发机构并发布所需证书。这些证书仅用于内部负载均衡服务(octavia)通信,而不向用户公开。
RHOSP director 生成证书和密钥,并在它们过期前自动更新。如果使用自己的证书,您必须记得续订它们。
RHOSP director 不支持从手动生成的证书切换到自动生成的证书。但是,您可以通过删除 /var/lib/config-data/puppet-generated/octavia/etc/octavia/certs 目录和更新 overcloud 中的 Controller 节点上的现有证书来强制重新创建证书。
如果您必须使用自己的证书和密钥,请完成以下步骤:
前提条件
- 读取和理解,"分离负载平衡服务默认设置"。(在"添加资源"中链接)
流程
-
以
stack用户身份登录 undercloud 主机。 提供 undercloud 凭据文件:
$ source ~/stackrc创建 YAML 自定义环境文件。
Example
$ vi /home/stack/templates/my-octavia-environment.yaml在 YAML 环境文件中,使用适合您的站点的值添加以下参数:
OctaviaCaCert:Octavia 用来生成证书的 CA 的证书。
OctaviaCaKey:用于为生成的证书签名的私钥。
OctaviaCaKeyPassphrase:与以上私有 CA 密钥一起使用的密语。
OctaviaClientCert:由 Octavia CA 为控制器发布的客户端证书和未加密密钥。
Octavia 生成证书:指示 director 启用(true)或禁用(false)自动证书和密钥生成的布尔值。
重要您必须将
OctaviaGenerateCerts设置为 false。Example
parameter_defaults: OctaviaCaCert: | -----BEGIN CERTIFICATE----- MIIDgzCCAmugAwIBAgIJAKk46qw6ncJaMA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV [snip] sFW3S2roS4X0Af/kSSD8mlBBTFTCMBAj6rtLBKLaQbIxEpIzrgvp -----END CERTIFICATE----- OctaviaCaKey: | -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED [snip] -----END RSA PRIVATE KEY-----[ OctaviaClientCert: | -----BEGIN CERTIFICATE----- MIIDmjCCAoKgAwIBAgIBATANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJVUzEP [snip] 270l5ILSnfejLxDH+vI= -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDU771O8MTQV8RY [snip] KfrjE3UqTF+ZaaIQaz3yayXW -----END PRIVATE KEY----- OctaviaCaKeyPassphrase: b28c519a-5880-4e5e-89bf-c042fc75225d OctaviaGenerateCerts: false [rest of file snipped]
运行
openstack overcloud deploy命令,并包含核心 heat 模板、环境文件和新的自定义环境文件。重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。
Example
$ openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml \ -e /home/stack/templates/my-octavia-environment.yaml