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 负载平衡服务默认设置"。("添加资源"中的链接"

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 提供 undercloud 凭证文件:

    $ source ~/stackrc
  3. 创建 YAML 自定义环境文件。

    示例

    $ vi /home/stack/templates/my-octavia-environment.yaml

  4. 在 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]

  5. 运行 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

其他资源