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。
如果您必须使用自己的证书和密钥,请完成以下步骤:
先决条件
- 阅读并理解,"Changing 负载平衡服务默认设置"。("添加资源"中的链接"
流程
-
以
stack
用户身份登录 undercloud 主机。 提供 undercloud 凭证文件:
$ source ~/stackrc
创建 YAML 自定义环境文件。
示例
$ vi /home/stack/templates/my-octavia-environment.yaml
在 YAML 环境文件中,使用适合您的站点的值添加以下参数:
OctaviaCaCert
:Octavia 用来生成证书的 CA 的证书。
OctaviaCaKey
:用于为生成的证书签名的私有 CA 密钥。
OctaviaCaKeyPassphrase
:与上述私有 CA 密钥一起使用的密码短语。
OctaviaClientCert
:Octavia CA 为控制器发布的客户端证书和未加密密钥。
OctaviaGenerateCerts
:指示 director 启用(true)或禁用(false)自动证书和密钥生成的布尔值。
重要您必须将
OctaviaGenerateCerts
设置为 false。示例
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 模板、环境文件以及新的自定义环境文件。重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。
示例
$ 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
其他资源
- 第 4.3 节 “更改负载均衡服务默认设置”
- 自定义 Red Hat OpenStack Platform 部署 指南中的环境文件 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/17.1/html/customizing_your_red_hat_openstack_platform_deployment/assembly_configuring-the-overcloud-with-the-orchestration-service#con_environment-files_understanding-heat-templates
- 在自定义 Red Hat OpenStack Platform 部署 指南中的 overcloud 创建中包括环境文件