4.9. 手动创建安装配置文件
安装集群要求您手动创建安装配置文件。
先决条件
- 在本地机器上有一个 SSH 公钥用于安装程序。您可以使用密钥在集群节点上进行 SSH 身份验证,以进行调试和灾难恢复。
- 已获取 OpenShift Container Platform 安装程序和集群的 pull secret。
流程
创建一个安装目录来存储所需的安装资产:
mkdir <installation_directory>
$ mkdir <installation_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要您必须创建一个目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。
对提供的
install-config.yaml
文件模板示例进行自定义,并将文件保存到<installation_directory>
中。注意此配置文件必须命名为
install-config.yaml
。备份
install-config.yaml
文件,以便使用它来安装多个集群。重要现在备份
install-config.yaml
文件,因为安装过程会在下一步中消耗该文件。
4.9.1. IBM Z 的 install-config.yaml 文件示例 复制链接链接已复制到粘贴板!
您可以自定义 install-config.yaml
文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
- 1
- 集群的基域。所有 DNS 记录都必须是这个基域的子域,并包含集群名称。
- 2 5
controlPlane
部分是一个单个映射,但compute
部分是一系列映射。为满足不同数据结构的要求,compute
部分的第一行必须以连字符-
开头,controlPlane部分
的第一行则不以连字符开头。仅使用一个 control plane 池。- 3 6
- 指定要启用或禁用并发多线程(SMT)还是超线程。默认情况下,启用 SMT 可提高机器中内核的性能。您可以通过将 参数值设置为
Disabled
来禁用它。如果禁用 SMT,则必须在所有集群机器中禁用它;这包括 control plane 和计算机器。注意默认启用并发多线程(SMT)。如果 OpenShift Container Platform 节点上没有 SMT,
超线程
参数无效。重要如果您禁用
超线程
,无论是在 OpenShift Container Platform 节点上,还是在install-config.yaml
文件中,请确保您的容量规划考虑机器性能显著降低的情况。 - 4
- 在用户置备的基础架构上安装 OpenShift Container Platform 时,必须将这个值设置为
0
。在安装程序置备的安装中,参数控制集群为您创建和管理的计算机器数量。在用户置备的安装中,您必须在完成集群安装前手动部署计算机器。注意如果要安装一个三节点集群,在安装 Red Hat Enterprise Linux CoreOS(RHCOS)机器时不要部署任何计算机器。
- 7
- 您添加到集群的 control plane 机器数量。由于集群使用这些值作为集群中的 etcd 端点数量,所以该值必须与您部署的 control plane 机器数量匹配。
- 8
- 您在 DNS 记录中指定的集群名称。
- 9
- 从中分配 Pod IP 地址的 IP 地址块。此块不得与现有物理网络重叠。这些 IP 地址用于 pod 网络。如果需要从外部网络访问 pod,您必须配置负载均衡器和路由器来管理流量。注意
类 E CIDR 范围被保留以供以后使用。要使用 Class E CIDR 范围,您必须确保您的网络环境接受 Class E CIDR 范围内的 IP 地址。
- 10
- 分配给每个节点的子网前缀长度。例如,如果
hostPrefix 设为
23
,则每个节点从 givencidr
中分配 a/23
子网,这样就能有 510(2^(32 - 23)- 2)个 pod IP 地址。如果需要从外部网络访问节点,请配置负载均衡器和路由器来管理流量。 - 11
- 要安装的集群网络插件。支持的值有
OVNKubernetes
和OpenShiftSDN
。默认值为OVNKubernetes
。 - 12
- 用于服务 IP 地址的 IP 地址池。您只能输入一个 IP 地址池。此块不得与现有物理网络重叠。如果您需要从外部网络访问服务,请配置负载均衡器和路由器来管理流量。
- 13
- 您必须将平台设置为
none
。您无法为 IBM Z 基础架构提供额外的平台配置变量。重要使用平台类型
none
安装的集群无法使用一些功能,如使用 Machine API 管理计算机器。即使附加到集群的计算机器安装在通常支持该功能的平台上,也会应用这个限制。在安装后无法更改此参数。 - 14
- 是否启用或禁用 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"。
- 15
- Red Hat OpenShift Cluster Manager 中的 pull secret。此 pull secret 允许您与所含授权机构提供的服务进行身份验证,这些服务包括为 OpenShift Container Platform 组件提供容器镜像的 Quay.io。
- 16
- Red Hat Enterprise Linux CoreOS(RHCOS)中
core
用户的 SSH 公钥。注意对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定
ssh-agent
进程使用的 SSH 密钥。
4.9.2. 在安装过程中配置集群范围的代理 复制链接链接已复制到粘贴板!
生产环境可能会拒绝直接访问互联网,而是提供 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
文件并添加代理设置。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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-install wait-for install-complete --log-level debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存该文件并在安装 OpenShift Container Platform 时引用。
安装程序会创建一个名为 cluster 的集群范围代理,该代理 使用
提供的 install-config.yaml
文件中的代理设置。如果没有提供代理设置,仍然会创建一个 cluster
Proxy
对象,但它会有一个空 spec
。
只支持名为 cluster
的 Proxy
对象,且无法创建额外的代理。
4.9.3. 配置三节点集群 复制链接链接已复制到粘贴板!
另外,您可以在由三台 control plane 机器组成的最少三个节点集群中部署零台计算机器。这为集群管理员和开发人员提供了更小、效率更高的集群,用于测试、开发和生产。
在三节点 OpenShift Container Platform 环境中,三台 control plane 机器可以调度,这意味着应用程序工作负载被调度到它们上运行。
先决条件
-
您有一个现有的
install-config.yaml
文件。
流程
确保
install-config.yaml
文件中的计算副本数量设置为0
,如以下计算
小节所示:compute: - name: worker platform: {} replicas: 0
compute: - name: worker platform: {} replicas: 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在用户置备的基础架构上安装 OpenShift Container Platform 时,无论您要部署的计算机器数量有多少,您必须将计算机器的
replicas
参数值设置为0
。在安装程序置备的安装中,参数控制集群为您创建和管理的计算机器数量。这不适用于手动部署计算机器的用户置备安装。注意control plane 节点的首选资源是 6 个 vCPU 和 21 GB。对于三个 control plane 节点,这是相当于至少五节点集群的内存 + vCPU。您应该为三个节点提供支持,每个节点安装在一个 120 GB 的磁盘上,并且启用了三个 SMT2 的 IFL。测试最小的设置是每个 control plane 节点在 120 GB 磁盘上的三个 vCPU 和 10 GB。
对于三节点集群安装,请按照以下步骤执行:
- 如果要部署一个带有零计算节点的三节点集群,Ingress Controller Pod 在 control plane 节点上运行。在三节点集群部署中,您必须配置应用程序入口负载均衡器,将 HTTP 和 HTTPS 流量路由到 control plane 节点。如需更多信息,请参阅用户置备的基础架构的负载平衡要求 部分。
-
在以下步骤中创建 Kubernetes 清单文件时,请确保
<installation_directory>/manifests/cluster-scheduler-02-config.yml
文件中的mastersSchedulable
参数被设置为true
。这可让应用程序工作负载在 control plane 节点上运行。 - 在创建 Red Hat Enterprise Linux CoreOS(RHCOS)机器时,不要部署任何计算节点。