您可以更改 HAProxy 使用的密码套件,并指定是否加密在内部端点之间传输的动态数据。

VMware Integrated OpenStack 部署中的所有公共 API 端点都使用 TLS 1.2 加密。对于 HA 部署,内部端点之间的流量也使用 TLS 进行加密。由于紧凑型或微型部署中的内部端点位于单个虚拟机上,默认情况下,这些部署类型的内部端点之间的流量未进行加密。

启用内部动态加密后,HAProxy 将充当第 4 层负载平衡器而非第 7 层负载平衡器,来进行内部 API 调用和传输 Horizon 流量。为确保强加密性能,每个控制器上的 Apache HTTP 服务器将针对每个单独的 OpenStack 服务终止 TLS。然后,Apache 服务器通过本地环回服务将请求转发到后端服务,例如 Nova、Neutron 或 Cinder。将请求通过内部网络发送到后端控制器节点时,HAProxy 还会对请求重新加密。

过程

  1. viouser 用户身份登录到 OpenStack 管理服务器
  2. 如果您的部署未使用 custom.yml 文件,请将模板 custom.yml 文件复制到 /opt/vmware/vio/custom 目录。
    sudo mkdir -p /opt/vmware/vio/custom
    sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
  3. 在文本编辑器中打开 /opt/vmware/vio/custom/custom.yml 文件。
  4. 根据需要修改加密设置。
    • 要调整密码套件,请取消对 haproxy_ssl_default_bind_ciphers 参数的注释,然后将其值设置为所需的密码套件。

    • 要切换内部端点的 TLS 保护,请取消对 internal_api_protocol 参数的注释,并将其值设置为 https(已启用 TLS)或 http(已禁用 TLS)。

  5. 部署更新的配置。
    sudo viocli deployment configure

    部署此配置会短暂中断 OpenStack 服务。

  6. 如果更改了 internal_api_protocol 参数的值,请相应地更新 Keystone 端点 URL。
    1. vSphere Web Client 中,选择系统管理 > OpenStack
      注:

      HTML5 vSphere Client 当前不支持此操作。请使用基于 Flex 的 vSphere Web Client

    2. 选择 KEYSTONE 端点,然后单击编辑(铅笔)图标。
    3. 更新端点部分中,根据您的配置,将 URL 更改为以 httphttps 开头。
    4. 输入管理员密码,然后单击更新