This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第 18 章 在 OpenStack 上安装
18.1. 准备在 OpenStack 上安装 复制链接链接已复制到粘贴板!
您可以在 Red Hat OpenStack Platform (RHOSP) 上安装 OpenShift Container Platform。
18.1.1. 先决条件 复制链接链接已复制到粘贴板!
- 您可以参阅有关 OpenShift Container Platform 安装和更新 流程的详细信息。
- 您可以阅读有关 选择集群安装方法的文档,并为用户准备它。
您可以在安装程序置备或用户置备的基础架构上安装 OpenShift Container Platform。默认安装类型使用安装程序置备的基础架构,安装程序会在其中为集群置备底层基础架构。您还可以在您置备的基础架构上安装 OpenShift Container Platform。如果不使用安装程序置备的基础架构,您必须自己管理和维护集群资源。
如需有关安装程序置备和用户置备的安装过程的更多信息,请参阅 安装过程。
18.1.2.1. 在安装程序置备的基础架构上安装集群 复制链接链接已复制到粘贴板!
您可以使用以下方法之一在 OpenShift Container Platform 安装程序置备的 Red Hat OpenStack Platform(RHOSP)基础架构上安装集群:
- 使用自定义在 OpenStack 上安装集群 :您可以在 RHOSP 上安装自定义集群。安装程序允许在安装阶段应用一些自定义。其它自定义选项可 在安装后使用。
- 在带有 Kuryr 的 OpenStack 上安装集群 :您可以在使用 Kuryr SDN 的 RHOSP 上安装自定义 OpenShift Container Platform 集群。Kuryr 和 OpenShift Container Platform 的集成主要针对在 RHOSP VM 上运行的 OpenShift Container Platform 集群设计。Kuryr 通过将 OpenShift Container Platform pod 插入 RHOSP SDN 来提高网络性能。另外,它还提供 pod 和 RHOSP 虚拟实例间的互联性。
- 在受限网络中的 OpenStack 上安装集群: 您可以通过创建安装发行内容的内部镜像在受限或断开连接的网络中在 RHOSP 上安装 OpenShift Container Platform。您可以使用此方法安装不需要活跃互联网连接的集群来获取软件组件。您还可以使用此安装方法来确保集群只使用满足您组织对外部内容控制的容器镜像。
18.1.2.2. 在用户置备的基础架构上安装集群 复制链接链接已复制到粘贴板!
您可以使用以下方法之一在您置备的 RHOSP 基础架构上安装集群:
- 在您自己的基础架构的 OpenStack 上安装集群 :您可以在用户置备的 RHOSP 基础架构上安装 OpenShift Container Platform。通过使用这个安装方法,您可以将集群与现有的基础架构和修改进行集成。对于在用户置备的基础架构上安装,您必须创建所有 RHOSP 资源,如 Nova 服务器、Neutron 端口和安全组。您可以使用提供的 Ansible playbook 来协助部署过程。
- 在您自己的基础架构上带有 Kuryr 的 OpenStack 上安装集群: 您可以在使用 Kuryr SDN 的用户置备的 RHOSP 基础架构上安装 OpenShift Container Platform。
- 在您自己的 SR-IOV 基础架构的 OpenStack 上安装集群 :您可以使用单根输入/输出虚拟化(SR-IOV)网络在用户置备的 RHOSP 基础架构上安装 OpenShift Container Platform 来运行计算机器。
18.1.3. 为旧 HTTPS 证书扫描 RHOSP 端点 复制链接链接已复制到粘贴板!
从 OpenShift Container Platform 4.10 开始,HTTPS 证书必须包含主题替代名称(SAN)字段。运行以下脚本,为仅包含 CommonName
字段的传统证书在 Red Hat OpenStack Platform(RHOSP)目录中扫描每个 HTTPS 端点。
OpenShift Container Platform 在安装或升级前不会检查底层 RHOSP 基础架构是否有旧证书。使用提供的脚本来自行检查这些证书。在安装或升级集群前无法更新旧证书将导致集群无法正常工作。
先决条件
在运行脚本的机器中,有以下软件:
- Bash 版本 4.0 或更高版本
-
grep
- OpenStack 客户端
-
jq
- openssl 版本 1.1.1l 或更高版本
- 使用目标云的 RHOSP 凭证填充机器。
流程
将以下脚本保存到机器中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。
-
将脚本报告为
INVALID
的任何证书替换为包含 SAN 字段的证书。
在安装 OpenShift Container Platform 4.10 之前,您必须替换所有旧的 HTTPS 证书,或将集群更新至该版本。旧证书将被拒绝,并显示以下信息:
x509: certificate relies on legacy Common Name field, use SANs instead
x509: certificate relies on legacy Common Name field, use SANs instead
18.1.3.1. 手动为旧 HTTPS 证书扫描 RHOSP 端点 复制链接链接已复制到粘贴板!
从 OpenShift Container Platform 4.10 开始,HTTPS 证书必须包含主题替代名称(SAN)字段。如果您无法访问 "Scanning RHOSP 端点用于旧 HTTPS 证书"中列出的预备工具,请执行以下步骤为仅包含 CommonName
字段的传统证书扫描 Red Hat OpenStack Platform (RHOSP)目录中的每个 HTTPS 端点。
OpenShift Container Platform 在安装或升级前不会检查底层 RHOSP 基础架构是否有旧证书。使用以下步骤自己检查这些证书。在安装或升级集群前无法更新旧证书将导致集群无法正常工作。
流程
在命令行中运行以下命令查看 RHOSP 公共端点的 URL:
openstack catalog list
$ openstack catalog list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录命令返回的每个 HTTPS 端点的 URL。
对于每个公共端点,请注意主机和端口。
提示通过删除方案、端口和路径来确定端点的主机。
对于每个端点,运行以下命令来提取证书的 SAN 字段:
设置
host
变量:host=<host_name>
$ host=<host_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置
port
变量:port=<port_number>
$ port=<port_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果端点的 URL 中没有包括端口,使用值
443
。检索证书的 SAN 字段:
openssl s_client -showcerts -servername "$host" -connect "$host:$port" </dev/null 2>/dev/null \ | openssl x509 -noout -ext subjectAltName
$ openssl s_client -showcerts -servername "$host" -connect "$host:$port" </dev/null 2>/dev/null \ | openssl x509 -noout -ext subjectAltName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
X509v3 Subject Alternative Name: DNS:your.host.example.net
X509v3 Subject Alternative Name: DNS:your.host.example.net
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于每个端点,查找类似于上例的输出。如果没有端点的输出,则该端点的证书无效,必须重新发布。
在安装 OpenShift Container Platform 4.10 之前,您必须替换所有旧的 HTTPS 证书,或将集群更新至该版本。旧证书被拒绝,并显示以下信息:
x509: certificate relies on legacy Common Name field, use SANs instead
x509: certificate relies on legacy Common Name field, use SANs instead