17.4. 配置端点以使用 TLS
本节介绍如何为现有部署启用 TLS 端点加密,然后如何检查端点是否已正确配置。
在随处启用 TLS 时,有不同的升级路径,具体取决于您的域是如何构成的。这些示例使用示例域名来描述升级路径:
-
重复利用现有的公共端点证书,并在 overcloud 域(
lab.local
)的内部
和管理端点(lab.local
)上都启用 TLS。 -
允许 IdM 发布新的公共端点证书,并在 overcloud 域( lab.local )与 IdM 域(
)lab.local
的内部
和admin
端点上都启用 TLS。 -
重复使用现有的公共端点证书,并在其中 overcloud 域(
site1.lab.local
)的内部和外部
端点上启用 TLS (lab.local )是 IdM 域的子域(lab.local
)。 -
允许 IdM 发布新的公共端点证书,并在其中 overcloud 域(
site1.lab.local
)是 IdM 域的子域(lab.local
)的内部和外部
端点上启用 TLS。
本节中的步骤解释了如何使用上述各种组合配置此集成。
17.4.1. 使用与 IdM 相同的域为部署配置 undercloud 集成 复制链接链接已复制到粘贴板!
此流程描述了如何为使用与 IdM 相同的域的部署配置 undercloud 集成。
Red Hat OpenStack Platform 使用 novajoin
与 Red Hat Identity Management (IdM)集成,然后问题和管理加密证书。在此过程中,您将使用 IdM 注册 undercloud,生成令牌,在 undercloud 配置中启用令牌,然后重新运行 undercloud 和 overcloud 部署脚本。例如:
安装
python-novajoin
以便与 IdM 集成:sudo yum install python-novajoin
[stack@undercloud-0 ~]$ sudo yum install python-novajoin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
novajoin
配置脚本,并提供您的 IdM 部署的配置详情。例如:sudo novajoin-ipa-setup --principal admin --password ComplexRedactedPassword \ --server ipa.lab.local --realm lab.local --domain lab.local \ --hostname undercloud-0.lab.local --precreate
[stack@undercloud-0 ~]$ sudo novajoin-ipa-setup --principal admin --password ComplexRedactedPassword \ --server ipa.lab.local --realm lab.local --domain lab.local \ --hostname undercloud-0.lab.local --precreate ... 0Uvua6NyIWVkfCSTOmwbdAobsqGH2GONRJrW24MoQ4wg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此输出包括 IdM 的一次性密码(OTP),这是您的部署的不同值。
将 undercloud 配置为使用
novajoin
,添加一次性密码(OTP),对 DNS 使用 IdM IP 地址,并描述 overcloud 域。您的部署需要调整此示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 undercloud 中安装
novajoin
服务:openstack undercloud install
[stack@undercloud ~]$ openstack undercloud install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 overcloud IP 地址添加到 DNS。您需要修改此示例以适合您的部署:
注意:检查 overcloud 的
network-environment.yaml
,然后在各个网络范围内选择一个 VIP。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为所有端点创建一个
public_vip.yaml
映射:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.4.2. 为使用与 IdM 相同的域的部署配置 overcloud 集成,并保留现有的公共端点证书 复制链接链接已复制到粘贴板!
确保
openstack overcloud deploy
命令(具有有效设置)中存在以下参数,然后重新运行部署命令:- ' --NTP-server' - 如果还没有设置,请指定 NTP 服务器以适应您的环境。IdM 服务器应该正在运行 ntp。
-
cloud-names.yaml
- 包含初始部署命令的 FQDN (而非 IP)。 -
enable-tls.yaml
- 包含新的 overcloud 证书。例如,请参阅 https://github.com/openstack/tripleo-heat-templates/blob/master/environments/ssl/enable-tls.yaml。 -
public_vip.yaml
- 将端点映射到特定的 ip,以便 dns 可以匹配。 -
enable-internal-tls.yaml
- 为内部端点启用 TLS。 -
tls-everywhere-endpoints-dns.yaml
- Configures TLS endpoints using DNS names.您可以查看此文件的内容来检查配置范围。 -
HAProxy-internal-tls-certmonger.yaml
- certmonger 将管理 haproxy 中的内部证书。 inject-trust-anchor.yaml
- 添加 root 证书颁发机构。只有证书依赖默认尚未被默认使用的通用集合的 CA 链时才需要 ; 例如,当使用自签名时。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
确保
openstack overcloud deploy
命令(具有有效设置)中存在以下参数,然后重新运行部署命令:- ' --NTP-server' - 如果还没有设置,请指定 NTP 服务器以适应您的环境。IdM 服务器应该正在运行 ntp。
-
cloud-names.yaml
- 包含初始部署命令的 FQDN (而非 IP)。 -
enable-tls.yaml
- 包含新的 overcloud 证书。例如,请参阅 https://github.com/openstack/tripleo-heat-templates/blob/master/environments/ssl/enable-tls.yaml。 -
public_vip.yaml
- 将端点映射到特定的 ip,以便 dns 可以匹配。 -
enable-internal-tls.yaml
- 为内部端点启用 TLS。 -
tls-everywhere-endpoints-dns.yaml
- Configures TLS endpoints using DNS names.您可以查看此文件的内容来检查配置范围。 -
HAProxy-public-tls-certmonger.yaml
- certmonger 将管理 haproxy 中的内部和公共证书。 inject-trust-anchor.yaml
- 添加 root 证书颁发机构。只有证书依赖默认尚未被默认使用的通用集合的 CA 链时才需要 ; 例如,当使用自签名时。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
模板 enable-internal-tls.j2.yaml
在 overcloud deploy 命令中被引用为 enable-internal-tls.yaml
。
另外,enable-tls.yaml
中的旧公共端点证书将被 certmonger 替换为 haproxy-public-tls-certmonger.yaml
,但该文件仍必须在升级过程中被引用。
17.4.4. 为使用 IdM 子域的部署配置 undercloud 集成 复制链接链接已复制到粘贴板!
此流程解释了如何为使用 IdM 子域的部署配置 undercloud 集成。
Red Hat OpenStack Platform 使用 novajoin
与 Red Hat Identity Management (IdM)集成,然后问题和管理加密证书。在此过程中,您将使用 IdM 注册 undercloud,生成令牌,在 undercloud 配置中启用令牌,然后重新运行 undercloud 和 overcloud 部署脚本。例如:
安装
python-novajoin
以便与 IdM 集成:[stack@undercloud-0 ~]$
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
novajoin
配置脚本,并提供您的 IdM 部署的配置详情。例如:sudo novajoin-ipa-setup --principal admin --password ComplexRedactedPassword \ --server ipa.lab.local --realm lab.local --domain lab.local \ --hostname undercloud-0.site1.lab.local --precreate
[stack@undercloud-0 ~]$ sudo novajoin-ipa-setup --principal admin --password ComplexRedactedPassword \ --server ipa.lab.local --realm lab.local --domain lab.local \ --hostname undercloud-0.site1.lab.local --precreate ... 0Uvua6NyIWVkfCSTOmwbdAobsqGH2GONRJrW24MoQ4wg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此输出包括 IdM 的一次性密码(OTP),这是您的部署的不同值。
将 undercloud 配置为使用
novajoin
,并为 DNS 和 NTP 添加 OTP、IdM IP 和 overcloud 域:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 undercloud 配置为使用
novajoin
,并为 DNS 添加 OTP、IdM IP 和 overcloud 域:vi hiera_override.yaml
[stack@undercloud-0 ~]$ vi hiera_override.yaml nova::metadata::novajoin::api::ipa_domain: site1.lab.local ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 undercloud 中安装
novajoin
服务:openstack undercloud install
[stack@undercloud ~]$ openstack undercloud install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 overcloud IP 地址添加到 DNS。您需要修改此示例以适合您的部署:
注意:检查 overcloud 的
network-environment.yaml
,然后在各个网络范围内选择一个 VIP。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为每个端点创建一个
public_vip.yaml
映射。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为每个端点创建
extras.yaml
映射。例如:parameter_defaults: MakeHomeDir: True IdMNoNtpSetup: false IdMDomain: redhat.local DnsSearchDomains: ["site1.redhat.local","redhat.local"]
parameter_defaults: MakeHomeDir: True IdMNoNtpSetup: false IdMDomain: redhat.local DnsSearchDomains: ["site1.redhat.local","redhat.local"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.4.5. 为使用 IdM 子域的部署配置 undercloud 集成,并保留现有的公共端点证书 复制链接链接已复制到粘贴板!
此流程解释了如何为使用 IdM 子域的部署配置 undercloud 集成,并仍然保留现有的公共端点证书。
确保
openstack overcloud deploy
命令(具有有效设置)中存在以下参数,然后重新运行部署命令:- ' --NTP-server' - 如果还没有设置,请指定 NTP 服务器以适应您的环境。IdM 服务器应该正在运行 ntp。
-
cloud-names.yaml
- 包含初始部署命令的 FQDN (而非 IP)。 -
enable-tls.yaml
- 包含新的 overcloud 证书。例如,请参阅 https://github.com/openstack/tripleo-heat-templates/blob/master/environments/ssl/enable-tls.yaml。 -
public_vip.yaml
- 包含端点映射到特定的 ip,以便 dns 可以匹配。 - 'Extras.yaml ' - Contains settings for pam to make home directorys on login, no ntp setup、base IdM 域以及 dns search for resolv.conf。
-
enable-internal-tls.yaml
- 为内部端点启用 TLS。 -
tls-everywhere-endpoints-dns.yaml
- Configures TLS endpoints using DNS names.您可以查看此文件的内容来检查配置范围。 -
HAProxy-internal-tls-certmonger.yaml
- certmonger 将管理 haproxy 中的内部证书。 inject-trust-anchor.yaml
- 添加 root 证书颁发机构。只有证书依赖默认尚未被默认使用的通用集合的 CA 链时才需要 ; 例如,当使用自签名时。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
此流程解释了如何使用 IdM 子域为部署配置 undercloud 集成,以及如何使用 IdM 生成的证书替换现有的公共端点证书。
确保
openstack overcloud deploy
命令(具有有效设置)中存在以下参数,然后重新运行部署命令:- ' --NTP-server' - 如果还没有设置,请指定 NTP 服务器以适应您的环境。IdM 服务器应该正在运行 ntp。
-
cloud-names.yaml
- 包含初始部署命令的 FQDN (而非 IP)。 -
enable-tls.yaml
- 包含新的 overcloud 证书。例如,请参阅 https://github.com/openstack/tripleo-heat-templates/blob/master/environments/ssl/enable-tls.yaml。 -
public_vip.yaml
- 将端点映射到特定的 ip,以便 dns 可以匹配。 - 'Extras.yaml ' - Contains settings for pam to make home directorys on login, no ntp setup、base IdM 域以及 dns search for resolv.conf。
-
enable-internal-tls.yaml
- 为内部端点启用 TLS。 -
tls-everywhere-endpoints-dns.yaml
- Configures TLS endpoints using DNS names.您可以查看此文件的内容来检查配置范围。 -
HAProxy-public-tls-certmonger.yaml
- certmonger 将管理 haproxy 中的内部和公共证书。 inject-trust-anchor.yaml
- 添加 root 证书颁发机构。只有证书依赖默认尚未被默认使用的通用集合的 CA 链时才需要 ; 例如,当使用自签名时。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
在本例中,模板 enable-internal-tls.j2.yaml
在 overcloud deploy
命令中被引用为 enable-internal-tls.yaml
。另外,enable-tls.yaml
中的旧公共端点证书会使用 haproxy-public-tls-certmonger.yaml
替换 certmonger,但该文件仍必须在升级过程中被引用。