5.5. 创建安装配置文件
您可以自定义在 Google Cloud Platform(GCP)上安装的 OpenShift Container Platform 集群。
先决条件
- 获取 OpenShift Container Platform 安装程序和集群的 pull secret。
- 在订阅级别获取服务主体权限。
流程
创建
install-config.yaml
文件。进入包含安装程序的目录并运行以下命令:
$ ./openshift-install create install-config --dir <installation_directory> 1
- 1
- 对于
<installation_directory>
,请指定要存储安装程序创建的文件的目录名称。
在指定目录时:
-
验证该目录是否具有
执行
权限。在安装目录中运行 Terraform 二进制文件需要这个权限。 使用空目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。
注意始终删除
~/.powervs
目录,以避免重复使用过时的配置。运行以下命令:$ rm -rf ~/.powervs
在提示符处,提供云的配置详情:
可选: 选择用于访问集群机器的 SSH 密钥。
注意对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定
ssh-agent
进程使用的 SSH 密钥。- 选择 gcp 作为目标平台。
- 如果您没有为计算机上的 GCP 帐户配置服务帐户密钥,则必须从 GCP 获取它,并粘贴文件的内容或输入文件的绝对路径。
- 选择要在其中置备集群的项目 ID。默认值由您配置的服务帐户指定。
- 选择要将集群部署到的区域。
- 选择集群要部署到的基域。基域与您为集群创建的公共 DNS 区对应。
- 为集群输入描述性名称。
- 粘贴 Red Hat OpenShift Cluster Manager 中的 pull secret。
修改
install-config.yaml
文件。您可以在"安装配置参数"部分找到有关可用参数的更多信息。注意如果要安装三节点集群,请确保将
compute.replicas
参数设置为0
。这样可确保集群的 control plane 可以调度。如需更多信息,请参阅"在 GCP 上安装三节点集群"。备份
install-config.yaml
文件,以便您可以使用它安装多个集群。重要install-config.yaml
文件会在安装过程中消耗掉。如果要重复使用该文件,您必须立即备份该文件。
5.5.1. 安装配置参数
在部署 OpenShift Container Platform 集群前,您可以提供参数值来描述托管集群的云平台中的帐户,并选择性地自定义集群平台。在创建 install-config.yaml
安装配置文件时,您可以通过命令行为所需参数提供值。如果自定义集群,您可以修改 install-config.yaml
文件以提供有关平台的更多详情。
安装后,您无法在 install-config.yaml
文件中修改这些参数。
5.5.1.1. 所需的配置参数
下表描述了所需的安装配置参数:
参数 | 描述 | 值 |
---|---|---|
|
| 字符串 |
|
云供应商的基域。基域用于创建到 OpenShift Container Platform 集群组件的路由。集群的完整 DNS 名称是 |
完全限定域名或子域名,如 |
|
Kubernetes 资源 | 对象 |
|
集群的名称。集群的 DNS 记录是 |
小写字母、连字符( |
|
要执行安装的具体平台配置: | 对象 |
| 从 Red Hat OpenShift Cluster Manager 获取 pull secret,验证从 Quay.io 等服务中下载 OpenShift Container Platform 组件的容器镜像。 |
{ "auths":{ "cloud.openshift.com":{ "auth":"b3Blb=", "email":"you@example.com" }, "quay.io":{ "auth":"b3Blb=", "email":"you@example.com" } } } |
5.5.1.2. 网络配置参数
您可以根据现有网络基础架构的要求自定义安装配置。例如,您可以扩展集群网络的 IP 地址块,或者提供不同于默认值的不同 IP 地址块。
仅支持 IPv4 地址。
Red Hat OpenShift Data Foundation 灾难恢复解决方案不支持 Globalnet。对于区域灾难恢复场景,请确保为每个集群中的集群和服务网络使用非重叠的专用 IP 地址。
参数 | 描述 | 值 |
---|---|---|
| 集群网络的配置。 | 对象 注意
您无法在安装后修改 |
| 要安装的 Red Hat OpenShift Networking 网络插件。 |
|
| pod 的 IP 地址块。
默认值为 如果您指定了多个 IP 地址块,块不得重叠。 | 对象数组。例如: networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 |
|
使用 IPv4 网络。 |
无类别域间路由(CIDR)表示法中的 IP 地址块。IPv4 块的前缀长度介于 |
|
分配给每个节点的子网前缀长度。例如,如果 | 子网前缀。
默认值为 |
|
服务的 IP 地址块。默认值为 OpenShift SDN 和 OVN-Kubernetes 网络插件只支持服务网络的一个 IP 地址块。 | CIDR 格式具有 IP 地址块的数组。例如: networking: serviceNetwork: - 172.30.0.0/16 |
| 机器的 IP 地址块。 如果您指定了多个 IP 地址块,块不得重叠。 | 对象数组。例如: networking: machineNetwork: - cidr: 10.0.0.0/16 |
|
使用 | CIDR 表示法中的 IP 网络块。
例如: 注意
将 |
5.5.1.3. 可选的配置参数
下表描述了可选的安装配置参数:
参数 | 描述 | 值 |
---|---|---|
| 添加到节点可信证书存储中的 PEM 编码 X.509 证书捆绑包。配置了代理时,也可以使用此信任捆绑包。 | 字符串 |
| 控制可选核心组件的安装。您可以通过禁用可选组件来减少 OpenShift Container Platform 集群的空间。如需更多信息,请参阅安装中的"集群功能"页面。 | 字符串数组 |
|
选择要启用的一组初始可选功能。有效值为 | 字符串 |
|
将可选功能集合扩展到您在 | 字符串数组 |
| 启用工作负载分区,它会隔离 OpenShift Container Platform 服务、集群管理工作负载和基础架构 pod,以便在保留的一组 CPU 上运行。工作负载分区只能在安装过程中启用,且在安装后无法禁用。虽然此字段启用工作负载分区,但它不会将工作负载配置为使用特定的 CPU。如需更多信息,请参阅 Scalability and Performance 部分中的 Workload partitioning 页面。 |
|
| 组成计算节点的机器的配置。 |
|
|
决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 | 字符串 |
compute: 超线程: |
是否在计算机器上启用或禁用并发多 重要 如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。 |
|
|
使用 |
|
|
使用 |
|
| 要置备的计算机器数量,也称为 worker 机器。 |
大于或等于 |
| 为功能集启用集群。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。有关在安装过程中启用功能集的更多信息,请参阅"使用功能门启用功能"。 |
字符串.要启用的功能集的名称,如 |
| 组成 control plane 的机器的配置。 |
|
|
决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 | 字符串 |
controlPlane: 超线程: |
是否在 control plane 机器上启用或禁用并发多 重要 如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。 |
|
|
使用 |
|
|
使用 |
|
| 要置备的 control plane 机器数量。 |
唯一支持的值是 |
|
Cloud Credential Operator(CCO)模式。如果没有指定模式,CCO 会动态尝试决定提供的凭证的功能,在支持多个模式的平台上首选 mint 模式。如果要在 GCP 上安装到共享虚拟私有云 (VPC) 中,则 注意 不是所有 CCO 模式都支持所有云供应商。如需有关 CCO 模式的更多信息,请参阅集群 Operator 参考内容中的 Cloud Credential Operator 条目。 注意
如果您的 AWS 帐户启用了服务控制策略 (SCP),您必须将 |
|
| release-image 内容的源和存储库。 |
对象数组。包括一个 |
|
使用 | 字符串 |
| 指定可能还包含同一镜像的一个或多个仓库。 | 字符串数组 |
| 如何发布或公开集群的面向用户的端点,如 Kubernetes API、OpenShift 路由。 |
|
| 用于验证对集群机器的访问的 SSH 密钥。 注意
对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定 |
例如, |
不是所有 CCO 模式都支持所有云供应商。有关 CCO 模式的更多信息,请参阅身份验证和授权内容中的"管理云供应商凭证"条目。
注意如果要在 GCP 上安装到共享虚拟私有云 (VPC) 中,则
credentialsMode
必须设置为Passthrough
或Manual
。重要将此参数设置为
Manual
可启用在kube-system
项目中存储管理员级别的 secret 的替代方案,这需要额外的配置步骤。如需更多信息,请参阅"在 kube-system 项目中存储管理员级别的 secret"。
5.5.1.4. 其他 Google Cloud Platform(GCP)配置参数
下表描述了其他 GCP 配置参数:
参数 | 描述 | 值 |
---|---|---|
|
要部署集群的现有 Virtual Private Cloud (VPC) 的名称。如果要将集群部署到共享 VPC 中,则必须使用包含共享 VPC 的 GCP 项目的名称设置 | 字符串. |
| 可选。包含要部署集群的共享 VPC 的 GCP 项目的名称。 | 字符串. |
| 安装程序安装集群的 GCP 项目的名称。 | 字符串. |
| 托管集群的 GCP 区域的名称。 |
任何有效的区域名称,如 |
| 要部署 control plane 机器的现有子网的名称。 | 子网名称。 |
| 要部署计算机器的现有子网的名称。 | 子网名称。 |
| 必须应用到计算镜像的许可证 URL 列表。 重要
| license API 可获得的任何许可证,如启用嵌套虚拟化的许可证。您不能将此参数与生成预构建镜像的机制一起使用。使用许可证 URL 强制安装程序在使用前复制源镜像。 |
| 安装程序在其中创建机器的可用区。 | |
| 以 GB(GB)为单位的磁盘大小。 | 16 GB 到 65536 GB 之间的任何大小。 |
|
默认 | |
| 可选。默认情况下,安装程序会下载并安装用于引导 control plane 和计算机器的 RHCOS 镜像。您可以通过为安装程序为两种类型的机器指定自定义 RHCOS 镜像的位置来覆盖默认行为。 | 字符串.镜像所在 GCP 项目的名称。 |
|
安装程序用来引导 control plane 和计算机器的自定义 RHCOS 镜像名称。如果使用 | 字符串.RHCOS 镜像的名称。 |
| 可选。要添加到 control plane 和计算机器的额外网络标签。 |
一个或多个字符串,如 |
| control plane 和计算机器的 GCP 机器类型。 |
GCP 机器类型,如 |
| 用于机器磁盘加密的客户管理的加密密钥名称。 | 加密密钥名称。 |
| KMS 密钥所属的密钥管理服务 (KMS) 密钥环的名称。 | KMS 密钥环名称。 |
| KMS 密钥环存在的 GCP 位置。 | GCP 位置。 |
|
存在 KMS 密钥环的项目 ID。如果没有设置,则默认值为 | GCP 项目 ID。 |
| 用于 control plane 和计算机器加密请求的 GCP 服务帐户。如果没有,则使用 Compute Engine 默认服务帐户。如需有关 GCP 服务帐户的更多信息,请参阅 Google 文档中的服务帐户。 |
GCP 服务帐户电子邮件,如 |
| 是否为集群中的所有机器启用 Shielded VM 安全引导。Shielded 虚拟机具有额外的安全协议,如安全引导、固件和完整性监控和 rootkit 保护。有关 Shielded 虚拟机的更多信息,请参阅 Google 文档中有关 Shielded 虚拟机 的文档。 |
|
| 是否对集群中的所有机器使用机密虚拟机。机密虚拟机在处理过程中为数据提供加密。有关机密计算的更多信息,请参阅 Google 文档中有关机密计算的内容。 |
|
|
指定主机维护事件期间所有虚拟机的行为,如软件或硬件更新。对于机密虚拟机,此参数必须设置为 |
|
| 用于 control plane 机器磁盘加密的客户管理的加密密钥名称。 | 加密密钥名称。 |
| 对于 control plane 机器,KMS 密钥环的名称。 | KMS 密钥环名称。 |
| 对于 control plane 机器,存在密钥环的 GCP 位置。有关 KMS 位置的更多信息,请参阅 Google 文档中的Cloud KMS 位置。 | 密钥环的 GCP 位置。 |
| 对于 control plane 机器,存在 KMS 密钥环的项目 ID。如果没有设置,则默认值是 VM 项目 ID。 | GCP 项目 ID。 |
| 用于 control plane 机器的加密请求的 GCP 服务帐户。如果没有,则使用 Compute Engine 默认服务帐户。如需有关 GCP 服务帐户的更多信息,请参阅 Google 文档中的服务帐户。 |
GCP 服务帐户电子邮件,如 |
| 以 GB(GB)为单位的磁盘大小。这个值适用于 control plane 机器。 | 16 到 65536 之间的任何整数。 |
| control plane 机器的 GCP 磁盘类型。 |
control plane 机器必须使用 |
| 可选。默认情况下,安装程序会下载并安装用于引导 control plane 机器的 Red Hat Enterprise Linux CoreOS (RHCOS)镜像。您可以通过只用于 control plane 机器的安装程序指定自定义 RHCOS 镜像的位置来覆盖默认行为。 | 字符串.镜像所在 GCP 项目的名称。 |
|
安装程序用来引导 control plane 机器的自定义 RHCOS 镜像名称。如果使用 | 字符串.RHCOS 镜像的名称。 |
|
可选。要添加到 control plane 机器的额外网络标签。如果设置,此参数会覆盖 control plane 机器的 |
一个或多个字符串,如 |
|
control plane 机器的 GCP 机器类型。如果设置,此参数会覆盖 |
GCP 机器类型,如 |
| 安装程序在其中创建 control plane 机器的可用区。 | |
| 是否为 control plane 机器启用 Shielded VM 安全引导。Shielded 虚拟机具有额外的安全协议,如安全引导、固件和完整性监控和 rootkit 保护。有关 Shielded 虚拟机的更多信息,请参阅 Google 文档中有关 Shielded 虚拟机 的文档。 |
|
| 是否为 control plane 机器启用机密虚拟机。机密虚拟机在处理数据时为数据提供加密。有关机密虚拟机的更多信息,请参阅 Google 文档中有关机密计算的内容。 |
|
|
指定在主机维护事件期间 control plane 虚拟机的行为,如软件或硬件更新。对于机密虚拟机,此参数必须设置为 |
|
| 用于计算机器磁盘加密的客户管理的加密密钥名称。 | 加密密钥名称。 |
| 对于计算机器,KMS 密钥环的名称。 | KMS 密钥环名称。 |
| 对于计算机器,存在密钥环的 GCP 位置。有关 KMS 位置的更多信息,请参阅 Google 文档中的Cloud KMS 位置。 | 密钥环的 GCP 位置。 |
| 对于计算机器,存在 KMS 密钥环的项目 ID。如果没有设置,则默认值是 VM 项目 ID。 | GCP 项目 ID。 |
| 用于计算机器加密请求的 GCP 服务帐户。如果没有设置这个值,则使用 Compute Engine 默认服务帐户。如需有关 GCP 服务帐户的更多信息,请参阅 Google 文档中的服务帐户。 |
GCP 服务帐户电子邮件,如 |
| 以 GB(GB)为单位的磁盘大小。这个值适用于计算机器。 | 16 到 65536 之间的任何整数。 |
| 计算机器的 GCP 磁盘类型。 |
默认 |
| 可选。默认情况下,安装程序会下载并安装用于引导计算机器的 RHCOS 镜像。您可以通过为安装程序指定用于计算机器的自定义 RHCOS 镜像的位置来覆盖默认行为。 | 字符串.镜像所在 GCP 项目的名称。 |
|
安装程序用来引导计算机器的自定义 RHCOS 镜像名称。如果使用 | 字符串.RHCOS 镜像的名称。 |
|
可选。要添加到计算机器的额外网络标签。如果设置,此参数会覆盖计算机器的 |
一个或多个字符串,如 |
|
计算机器的 GCP 机器类型。如果设置,此参数会覆盖 |
GCP 机器类型,如 |
| 安装程序在其中创建计算机器的可用区。 | |
| 是否为计算机器启用 Shielded VM 安全引导。Shielded 虚拟机具有额外的安全协议,如安全引导、固件和完整性监控和 rootkit 保护。有关 Shielded 虚拟机的更多信息,请参阅 Google 文档中有关 Shielded 虚拟机 的文档。 |
|
| 是否为计算机器启用机密虚拟机。机密虚拟机在处理数据时为数据提供加密。有关机密虚拟机的更多信息,请参阅 Google 文档中有关机密计算的内容。 |
|
|
指定在主机维护事件期间计算虚拟机的行为,如软件或硬件更新。对于机密虚拟机,此参数必须设置为 |
|
5.5.2. 集群安装的最低资源要求
每台集群机器都必须满足以下最低要求:
机器 | 操作系统 | vCPU [1] | 虚拟内存 | Storage | 每秒输入/输出 (IOPS) [2] |
---|---|---|---|---|---|
bootstrap | RHCOS | 4 | 16 GB | 100 GB | 300 |
Control plane(控制平面) | RHCOS | 4 | 16 GB | 100 GB | 300 |
Compute | RHCOS、RHEL 8.6 及更新版本 [3] | 2 | 8 GB | 100 GB | 300 |
- 当未启用并发多线程 (SMT) 或超线程时,一个 vCPU 相当于一个物理内核。启用后,使用以下公式来计算对应的比例:(每个内核数的线程)× sockets = vCPU。
- OpenShift Container Platform 和 Kubernetes 对磁盘性能非常敏感,建议使用更快的存储速度,特别是 control plane 节点上需要 10 ms p99 fsync 持续时间的 etcd。请注意,在许多云平台上,存储大小和 IOPS 可一起扩展,因此您可能需要过度分配存储卷来获取足够的性能。
- 与所有用户置备的安装一样,如果您选择在集群中使用 RHEL 计算机器,则负责所有操作系统生命周期管理和维护,包括执行系统更新、应用补丁和完成所有其他必要的任务。RHEL 7 计算机器的使用已弃用,并已在 OpenShift Container Platform 4.10 及更新的版本中删除。
从 OpenShift Container Platform 版本 4.13 开始,RHCOS 基于 RHEL 版本 9.2,它更新了微架构要求。以下列表包含每个架构需要的最小指令集架构 (ISA):
- x86-64 体系结构需要 x86-64-v2 ISA
- ARM64 架构需要 ARMv8.0-A ISA
- IBM Power 架构需要 Power 9 ISA
- s390x 架构需要 z14 ISA
如需更多信息,请参阅 RHEL 架构。
如果平台的实例类型满足集群机器的最低要求,则 OpenShift Container Platform 支持使用它。
其他资源
5.5.3. 为 GCP 测试的实例类型
以下 Google Cloud Platform 实例类型已使用 OpenShift Container Platform 测试。
例 5.1. 机器系列
-
A2
-
A3
-
C2
-
C2D
-
C3
-
C3D
-
C4
-
E2
-
M1
-
N1
-
N2
-
N2D
-
N4
-
Tau T2D
5.5.4. 使用自定义机器类型
支持使用自定义机器类型来安装 OpenShift Container Platform 集群。
使用自定义机器类型时请考虑以下几点:
- 与预定义的实例类型类似,自定义机器类型必须满足 control plane 和计算机器的最低资源要求。如需更多信息,请参阅"集群安装的资源要求"。
自定义机器类型的名称必须遵循以下语法:
custom-<number_of_cpus>-<amount_of_memory_in_mb>
例如,
custom-6-20480
。
作为安装过程的一部分,您可以在 install-config.yaml
文件中指定自定义机器类型。
带有自定义机器类型的 install-config.yaml
文件示例
compute: - architecture: amd64 hyperthreading: Enabled name: worker platform: gcp: type: custom-6-20480 replicas: 2 controlPlane: architecture: amd64 hyperthreading: Enabled name: master platform: gcp: type: custom-6-20480 replicas: 3
5.5.5. 启用屏蔽虚拟机
您可在安装集群时使用 Shielded 虚拟机。Shielded 虚拟机具有额外的安全功能,包括安全引导、固件和完整性监控和 rootkit 检测。如需更多信息,请参阅 Google 文档中有关 Shielded 虚拟机 的文档。
先决条件
-
您已创建了
install-config.yaml
文件。
流程
在部署集群前,使用文本编辑器编辑
install-config.yaml
文件并添加以下部分之一:仅将屏蔽的虚拟机用于 control plane 机器:
controlPlane: platform: gcp: secureBoot: Enabled
仅将屏蔽的虚拟机用于计算机器:
compute: - platform: gcp: secureBoot: Enabled
将屏蔽的虚拟机用于所有机器:
platform: gcp: defaultMachinePlatform: secureBoot: Enabled
5.5.6. 启用机密虚拟机
您可在安装集群时使用机密虚拟机。机密虚拟机在处理数据时加密数据。如需更多信息,请参阅 Google 文档中有关 机密计算的内容。您可以同时启用机密虚拟机和 Shielded 虚拟机,虽然它们不相互依赖。
机密计算只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
由于 OpenShift Container Platform 4.13.3 及更早的版本中存在一个已知问题,您不能在 Google Cloud Platform (GCP)上使用具有机密虚拟机的集群中的持久性卷存储。这个问题已在 OpenShift Container Platform 4.13.4 中解决。如需更多信息,请参阅 OCPBUGS-11768。
先决条件
-
您已创建了
install-config.yaml
文件。
流程
在部署集群前,使用文本编辑器编辑
install-config.yaml
文件并添加以下部分之一:仅将机密虚拟机用于 control plane 机器:
controlPlane: platform: gcp: confidentialCompute: Enabled 1 type: n2d-standard-8 2 onHostMaintenance: Terminate 3
- 1
- 启用机密虚拟机。
- 2
- 指定支持机密虚拟机的机器类型。机密虚拟机需要 N2D 或 C2D 系列机器类型。有关支持的机器类型的更多信息,请参阅支持的操作系统和机器类型。
- 3
- 指定主机维护事件期间虚拟机的行为,如硬件或软件更新。对于使用机密虚拟机的机器,此值必须设置为
Terminate
,这会停止虚拟机。机密虚拟机不支持实时迁移。
仅将机密虚拟机用于计算机器:
compute: - platform: gcp: confidentialCompute: Enabled type: n2d-standard-8 onHostMaintenance: Terminate
将机密虚拟机用于所有机器:
platform: gcp: defaultMachinePlatform: confidentialCompute: Enabled type: n2d-standard-8 onHostMaintenance: Terminate
5.5.7. GCP 的自定义 install-config.yaml 文件示例
您可以自定义 install-config.yaml
文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
此示例 YAML 文件仅供参考。您必须使用安装程序来获取 install-config.yaml
文件,并进行修改。
apiVersion: v1 baseDomain: example.com 1 controlPlane: 2 3 hyperthreading: Enabled 4 name: master platform: gcp: type: n2-standard-4 zones: - us-central1-a - us-central1-c osDisk: diskType: pd-ssd diskSizeGB: 1024 encryptionKey: 5 kmsKey: name: worker-key keyRing: test-machine-keys location: global projectID: project-id tags: 6 - control-plane-tag1 - control-plane-tag2 osImage: 7 project: example-project-name name: example-image-name replicas: 3 compute: 8 9 - hyperthreading: Enabled 10 name: worker platform: gcp: type: n2-standard-4 zones: - us-central1-a - us-central1-c osDisk: diskType: pd-standard diskSizeGB: 128 encryptionKey: 11 kmsKey: name: worker-key keyRing: test-machine-keys location: global projectID: project-id tags: 12 - compute-tag1 - compute-tag2 osImage: 13 project: example-project-name name: example-image-name replicas: 3 metadata: name: test-cluster 14 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 networkType: OVNKubernetes 15 serviceNetwork: - 172.30.0.0/16 platform: gcp: projectID: openshift-production 16 region: us-central1 17 defaultMachinePlatform: tags: 18 - global-tag1 - global-tag2 osImage: 19 project: example-project-name name: example-image-name pullSecret: '{"auths": ...}' 20 fips: false 21 sshKey: ssh-ed25519 AAAA... 22
- 1 14 16 17 20
- 必需。安装程序会提示您输入这个值。
- 2 8
- 如果没有提供这些参数和值,安装程序会提供默认值。
- 3 9
controlPlane
部分是一个单个映射,但compute
部分是一系列映射。为满足不同数据结构的要求,compute
部分的第一行必须以连字符-
开头,controlPlane部分
的第一行则不以连字符开头。仅使用一个 control plane 池。- 4 10
- 是否要启用或禁用并发多线程或
超线程
。默认情况下,启用并发多线程以提高机器内核的性能。您可以通过将 参数值设置为Disabled
来禁用它。如果在某些集群机器中禁用并发多线程,则必须在所有集群机器中禁用它。重要如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。如果您禁用并发多线程,请为您的机器使用较大的类型,如
n1-standard-8
。 - 5 11
- 可选:自定义加密密钥部分来加密虚拟机和持久性卷。您的默认计算服务帐户必须具有相应的权限才能使用您的 KMS 密钥并分配了正确的 IAM 角色。默认服务帐户名称遵循
service-<project_number>@compute-system.iam.gserviceaccount.com
模式。有关为您的服务帐户授予正确权限的更多信息,请参阅 "Machine management""Creating compute machine set" "Creating a compute machine set on GCP"。 - 6 12 18
- 可选:要应用到 control plane 或计算机器集的一组网络标签。
platform.gcp.defaultMachinePlatform.tags
参数将应用到 control plane 和计算机器。如果设置了compute.platform.gcp.tags
或controlPlane.platform.gcp.tags
参数,它们会覆盖platform.gcp.defaultMachinePlatform.tags
参数。 - 7 13 19
- 可选:安装程序用来引导 control plane 和计算机器的自定义 Red Hat Enterprise Linux CoreOS (RHCOS)镜像。
platform.gcp.defaultMachinePlatform.osImage
下的project
和name
参数应用到 control plane 和计算机器。如果设置了controlPlane.platform.gcp.osImage
或compute.platform.gcp.osImage
下的project
和name
参数,它们会覆盖platform.gcp.defaultMachinePlatform.osImage
参数。 - 15
- 要安装的集群网络插件。支持的值有
OVNKubernetes
和OpenShiftSDN
。默认值为OVNKubernetes
。 - 21
- 是否启用或禁用 FIPS 模式。默认情况下不启用 FIPS 模式。重要
OpenShift Container Platform 4.13 基于 Red Hat Enterprise Linux (RHEL) 9.2。RHEL 9.2 加密模块尚未经过 FIPS 验证。如需更多信息,请参阅 4.13 OpenShift Container Platform 发行注记 中的 "About this release"。
- 22
- 您可以选择提供您用来访问集群中机器的
sshKey
值。注意对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定
ssh-agent
进程使用的 SSH 密钥。
其他资源
5.5.8. 在安装过程中配置集群范围的代理
生产环境可能会拒绝直接访问互联网,而是提供 HTTP 或 HTTPS 代理。您可以通过在 install-config.yaml
文件中配置代理设置,将新的 OpenShift Container Platform 集群配置为使用代理。
先决条件
-
您有一个现有的
install-config.yaml
文件。 您检查了集群需要访问的站点,并确定它们中的任何站点是否需要绕过代理。默认情况下,所有集群出口流量都经过代理,包括对托管云供应商 API 的调用。如果需要,您将在
Proxy 对象的
spec.noProxy
字段中添加站点来绕过代理。注意Proxy
对象status.noProxy
字段使用安装配置中的networking.machineNetwork[].cidr
、networking.clusterNetwork[].cidr
和networking.serviceNetwork[]
字段的值填充。对于在 Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure 和 Red Hat OpenStack Platform(RHOSP)上安装,
Proxy
对象status.noProxy
字段也会使用实例元数据端点填充(169.254.169.254
)。
流程
编辑
install-config.yaml
文件并添加代理设置。例如:apiVersion: v1 baseDomain: my.domain.com proxy: httpProxy: http://<username>:<pswd>@<ip>:<port> 1 httpsProxy: https://<username>:<pswd>@<ip>:<port> 2 noProxy: example.com 3 additionalTrustBundle: | 4 -----BEGIN CERTIFICATE----- <MY_TRUSTED_CA_CERT> -----END CERTIFICATE----- additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 5
- 1
- 用于创建集群外 HTTP 连接的代理 URL。URL 方案必须是
http
。 - 2
- 用于创建集群外 HTTPS 连接的代理 URL。
- 3
- 要从代理中排除的目标域名、IP 地址或其他网络 CIDR 的逗号分隔列表。在域前面加上
.
以仅匹配子域。例如,.y.com
匹配x.y.com
,但不匹配y.com
。使用*
绕过所有目的地的代理。 - 4
- 如果提供,安装程序会在
openshift-config
命名空间中生成名为user-ca-bundle
的配置映射,其包含代理 HTTPS 连接所需的一个或多个额外 CA 证书。然后,Cluster Network Operator 会创建trusted-ca-bundle
配置映射,将这些内容与 Red Hat Enterprise Linux CoreOS(RHCOS)信任捆绑包合并,Proxy
对象的trustedCA
字段中也会引用此配置映射。additionalTrustBundle
字段是必需的,除非代理的身份证书由来自 RHCOS 信任捆绑包的颁发机构签名。 - 5
- 可选:决定
Proxy
对象的配置以引用trustedCA
字段中user-ca-bundle
配置映射的策略。允许的值是Proxyonly
和Always
。仅在配置了http/https
代理时,使用Proxyonly
引用user-ca-bundle
配置映射。使用Always
始终引用user-ca-bundle
配置映射。默认值为Proxyonly
。
注意安装程序不支持代理的
readinessEndpoints
字段。注意如果安装程序超时,重启并使用安装程序的
wait-for
命令完成部署。例如:$ ./openshift-install wait-for install-complete --log-level debug
- 保存该文件并在安装 OpenShift Container Platform 时引用。
安装程序会创建一个名为 cluster 的集群范围代理,该代理 使用
提供的 install-config.yaml
文件中的代理设置。如果没有提供代理设置,仍然会创建一个 cluster
Proxy
对象,但它会有一个空 spec
。
只支持名为 cluster
的 Proxy
对象,且无法创建额外的代理。