4.11. 创建安装配置文件
您可以自定义在 VMware vSphere 上安装的 OpenShift Container Platform 集群。
先决条件
- 获取 OpenShift Container Platform 安装程序和集群的 pull secret。
- 在订阅级别获取服务主体权限。
流程
- 创建 - install-config.yaml文件。- 进入包含安装程序的目录并运行以下命令: - ./openshift-install create install-config --dir <installation_directory> - $ ./openshift-install create install-config --dir <installation_directory>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 对于<installation_directory>,请指定要存储安装程序创建的文件的目录名称。
 - 在指定目录时: - 
										验证该目录是否具有执行权限。在安装目录中运行 Terraform 二进制文件需要这个权限。
- 使用空目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。
 
- 在提示符处,提供云的配置详情: - 可选: 选择用于访问集群机器的 SSH 密钥。 注意- 对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定 - ssh-agent进程使用的 SSH 密钥。
- Select vsphere 作为目标平台。
- 指定 vCenter 实例的名称。
- 指定创建集群所需的权限的 vCenter 帐户的用户名和密码。 - 安装程序连接到您的 vCenter 实例。 
- 选择要连接的 vCenter 实例中的数据中心。
- 选择要使用的默认 vCenter 数据存储。
- 选择要在其中安装 OpenShift Container Platform 集群的 vCenter 集群。安装程序使用 vSphere 集群的 root 资源池作为默认资源池。
- 选择包含您配置的虚拟 IP 地址和 DNS 记录的 vCenter 实例中的网络。
- 输入您为 control plane API 访问配置的虚拟 IP 地址。
- 输入您为集群入口配置的虚拟 IP 地址。
- 输入基域。这个基域必须与您配置的 DNS 记录中使用的域相同。
- 为集群输入描述性名称。您输入的集群名称必须与您在配置 DNS 记录时指定的集群名称匹配。
- 粘贴 Red Hat OpenShift Cluster Manager 中的 pull secret。
 
 
- 
						修改 install-config.yaml文件。您可以在"安装配置参数"部分找到有关可用参数的更多信息。
- 备份 - install-config.yaml文件,以便您可以使用它安装多个集群。重要- install-config.yaml文件会在安装过程中消耗掉。如果要重复使用该文件,您必须立即备份该文件。
4.11.1. 安装配置参数
					在部署 OpenShift Container Platform 集群前,您可以提供参数值来描述托管集群的云平台中的帐户,并选择性地自定义集群平台。在创建 install-config.yaml 安装配置文件时,您可以通过命令行为所需参数提供值。如果自定义集群,您可以修改 install-config.yaml 文件以提供有关平台的更多详情。
				
						安装后,您无法在 install-config.yaml 文件中修改这些参数。
					
4.11.1.1. 所需的配置参数
下表描述了所需的安装配置参数:
| 参数 | 描述 | 值 | 
|---|---|---|
| 
										 | 
										 | 字符串 | 
| 
										 | 
										云供应商的基域。基域用于创建到 OpenShift Container Platform 集群组件的路由。集群的完整 DNS 名称是  | 
										完全限定域名或子域名,如  | 
| 
										 | 
										Kubernetes 资源  | 对象 | 
| 
										 | 
										集群的名称。集群的 DNS 记录是  | 
										小写字母和连字符 ( | 
| 
										 | 
										要执行安装的具体平台配置:  | 对象 | 
| 
										 | 从 Red Hat OpenShift Cluster Manager 获取 pull secret,验证从 Quay.io 等服务中下载 OpenShift Container Platform 组件的容器镜像。 |  | 
4.11.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 网络块。 
										例如:  注意 
											将  | 
4.11.1.3. 可选的配置参数
下表描述了可选的安装配置参数:
| 参数 | 描述 | 值 | 
|---|---|---|
| 
										 | 添加到节点可信证书存储中的 PEM 编码 X.509 证书捆绑包。配置了代理时,也可以使用此信任捆绑包。 | 字符串 | 
| 
										 | 控制可选核心组件的安装。您可以通过禁用可选组件来减少 OpenShift Container Platform 集群的空间。如需更多信息,请参阅安装中的"集群功能"页面。 | 字符串数组 | 
| 
										 | 
										选择要启用的一组初始可选功能。有效值为  | 字符串 | 
| 
										 | 
										将可选功能集合扩展到您在  | 字符串数组 | 
| 
										 | 组成计算节点的机器的配置。 | 
										 | 
| 
										 | 
										决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为  | 字符串 | 
| 
										 | 
										使用  | 
										 | 
| 
										 | 
										使用  | 
										 | 
| 
										 | 要置备的计算机器数量,也称为 worker 机器。 | 
										大于或等于  | 
| 
										 | 为功能集启用集群。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。有关在安装过程中启用功能集的更多信息,请参阅"使用功能门启用功能"。 | 
										字符串.要启用的功能集的名称,如  | 
| 
										 | 组成 control plane 的机器的配置。 | 
										 | 
| 
										 | 
										决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为  | 字符串 | 
| 
										 | 
										使用  | 
										 | 
| 
										 | 
										使用  | 
										 | 
| 
										 | 要置备的 control plane 机器数量。 | 
										唯一支持的值是  | 
| 
										 | Cloud Credential Operator(CCO)模式。如果没有指定模式,CCO 会动态尝试决定提供的凭证的功能,在支持多个模式的平台上首选 mint 模式。 注意 不是所有 CCO 模式都支持所有云供应商。如需有关 CCO 模式的更多信息,请参阅集群 Operator 参考内容中的 Cloud Credential Operator 条目。 注意 
											如果您的 AWS 帐户启用了服务控制策略 (SCP),您必须将  | 
										 | 
| 
										 | 
										启用或禁用 FIPS 模式。默认值为  重要 
											要为集群启用 FIPS 模式,您必须从配置为以 FIPS 模式操作的 Red Hat Enterprise Linux (RHEL) 计算机运行安装程序。有关在 RHEL 中配置 FIPS 模式的更多信息,请参阅在 FIPS 模式中安装该系统。只有在  注意 如果使用 Azure File 存储,则无法启用 FIPS 模式。 | 
										 | 
| 
										 | release-image 内容的源和存储库。 | 
										对象数组。包括一个  | 
| 
										 | 
										使用  | 字符串 | 
| 
										 | 指定可能还包含同一镜像的一个或多个仓库。 | 字符串数组 | 
| 
										 | 如何发布或公开集群的面向用户的端点,如 Kubernetes API、OpenShift 路由。 | 
										 
										在非云平台上不支持将此字段设置为  重要 
											如果将字段的值设为  | 
| 
										 | 用于验证对集群机器的访问的 SSH 密钥。 注意 
											对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定  | 
										例如, | 
4.11.1.4. 其他 VMware vSphere 配置参数
下表描述了其他 VMware vSphere 配置参数。
							platform.vsphere 参数为表中列出的每个参数添加前缀。
						
| 参数 | 描述 | 值 | 
|---|---|---|
| 
										 | vCenter 服务器的完全限定主机名或 IP 地址。 | 字符串 | 
| 
										 | 用于连接 vCenter 实例的用户名。此用户必须至少具有 vSphere 中 静态或动态持久性卷置备 所需的角色和权限。 | 字符串 | 
| 
										 | vCenter 用户名的密码。 | 字符串 | 
| 
										 | 要在 vCenter 实例中使用的数据中心的名称。 | 字符串 | 
| 
										 | 用于调配卷的默认数据存储名称。 | 字符串 | 
| 
										 | 可选。安装程序创建虚拟机的现有文件夹的绝对路径。如果没有提供这个值,安装程序会创建一个文件夹,它的名称为 datacenter 虚拟机文件夹中的基础架构 ID。 | 
										字符串,如  | 
| 
										 | 
										可选。安装程序创建虚拟机的现有资源池的绝对路径。如果没有指定值,安装程序会在  | 
										字符串,例如  | 
| 
										 | 包含您配置的虚拟 IP 地址和 DNS 记录的 vCenter 实例中的网络。 | 字符串 | 
| 
										 | 安装 OpenShift Container Platform 集群的 vCenter 集群。 | 字符串 | 
| 
										 | 为 control plane API 访问配置的虚拟 IP(VIP)地址。 注意 
											在 OpenShift Container Platform 4.12 及更新的版本中, | 
										IP 地址,如  | 
| 
										 | 为集群入口配置的虚拟 IP(VIP)地址。 注意 
											在 OpenShift Container Platform 4.12 及更新的版本中, | 
										IP 地址,如  | 
| 
										 | 可选。磁盘置备方法。如果没有设置,则默认值为 vSphere 默认存储策略。 | 
										有效值为  | 
4.11.1.5. 可选的 VMware vSphere 机器池配置参数
下表描述了可选的 VMware vSphere 机器池配置参数。
							platform.vsphere 参数为表中列出的每个参数添加前缀。
						
| 参数 | 描述 | 值 | 
|---|---|---|
| 
										 | 安装程序从中下载 RHCOS 镜像的位置。您必须设置此参数才能在受限网络中执行安装。 | 
										HTTP 或 HTTPS URL,可选使用 SHA-256 校验和。例如:  | 
| 
										 | 以 GB 为单位的磁盘大小。 | 整数 | 
| 
										 | 
										用于分配虚拟机的虚拟处理器内核总数。 | 整数 | 
| 
										 | 
										虚拟机中每个插槽的内核数。虚拟机上的虚拟套接字数量为 platform  | 整数 | 
| 
										 | 以 MB 为单位的虚拟机内存大小。 | 整数 | 
4.11.1.6. 区域和区启用配置参数
要使用地区和区启用功能,您必须在安装文件中指定 region 和 zone 启用参数。
							在修改 install-config.yaml 文件来配置区域和区启用环境前,请阅读"VMware vSphere 区域和区启用"和"配置 VMware vCenter"部分的区域和区域。
						
							platform.vsphere 参数为表中列出的每个参数添加前缀。
						
| 参数 | 描述 | 值 | 
|---|---|---|
| 
										 | 
										建立地区和区域之间的关系。您可以使用 vCenter 对象(如  | 字符串 | 
| 
										 | 故障域的名称。机器池使用此名称来引用故障域。 | 字符串 | 
| 
										 | 指定 VMware vCenter 服务器的完全限定主机名或 IP 地址,以便客户端可以访问故障域资源。您必须将服务器角色应用到 vSphere vCenter 服务器位置。 | 字符串 | 
| 
										 | 
										您可以使用  | 字符串 | 
| 
										 | 
										您可以使用  | 字符串 | 
| 
										 | 
										此参数定义与故障域关联的计算集群。如果没有在配置中定义此参数,则计算集群将使用  | 字符串 | 
| 
										 | 
										安装程序创建虚拟机的现有文件夹的绝对路径。如果没有在配置中定义此参数,文件夹将使用  | 字符串 | 
| 
										 | 
										定义 OpenShift Container Platform 虚拟机 (VM) 操作的数据中心。如果没有在配置中定义此参数,则数据中心默认为  | 字符串 | 
| 
										 | 指定为故障域存储虚拟机文件的 vSphere 数据存储的路径。您必须将数据存储角色应用到 vSphere vCenter 数据存储位置。 | 字符串 | 
| 
										 | 
										列出 vCenter 实例中包含您配置的虚拟 IP 地址和 DNS 记录的任何网络。如果没有在配置中定义此参数,网络将使用  | 字符串 | 
| 
										 | 
										可选:安装程序创建虚拟机的现有资源池的绝对路径,例如  | 字符串 | 
					您可以自定义 install-config.yaml 文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
				
- 1
- 集群的基域。所有 DNS 记录都必须是这个基域的子域,并包含集群名称。
- 2 4
- controlPlane部分是一个单个映射,但- compute部分是一系列映射。为满足不同数据结构的要求,- compute部分的第一行必须以连字符- -开头,controlPlane- 部分的第一行则不以连字符开头。仅使用一个 control plane 池。
- 3 5
- 可选:为 compute 和 control plane 机器提供额外的机器池参数配置。
- 6
- 您在 DNS 记录中指定的集群名称。
- 8
- 可选:为创建机器提供现有的资源池。如果没有指定值,安装程序将使用 vSphere 集群的 root 资源池。
- 9
- vSphere 磁盘置备方法。
- 10
- 要在其中安装 OpenShift Container Platform 集群的 vSphere 集群。
- 7
- 要安装的集群网络插件。支持的值有OVNKubernetes和OpenShiftSDN。默认值为OVNKubernetes。
						在 OpenShift Container Platform 4.12 及更新的版本中,apiVIP 和 ingressVIP 配置设置已弃用。反之,使用列表格式在 apiVIPs 和 ingressVIPs 配置设置中输入值。
					
4.11.3. 在安装过程中配置集群范围的代理
					生产环境可能会拒绝直接访问互联网,而是提供 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。使用*绕过所有目的地的代理。您必须包含 vCenter 的 IP 地址以及用于其机器的 IP 范围。
- 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.11.4. 为 VMware vCenter 配置区域和区域
您可以修改默认安装配置文件,将 OpenShift Container Platform 集群部署到在单个 VMware vCenter 中运行的多个 vSphere 数据中心。
VMware vSphere 区域和区启用只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
						这个示例使用 govc 命令。govc 命令是 VMware 提供的开源命令。红帽没有提供 govc 命令。红帽支持不维护 govc 命令。有关下载和安装 govc 的说明,请参阅 VMware 文档网站。
					
先决条件
- 您有一个现有的 - install-config.yaml安装配置文件。重要- 您必须为 OpenShift Container Platform 集群指定一个故障域,以便您可以为 VMware vCenter 服务器置备数据中心对象。如果您需要在不同的数据中心、集群、数据存储和其他组件中置备虚拟机节点,请考虑指定多个故障域。要启用区域和区域,您必须为 OpenShift Container Platform 集群定义多个故障域。 注意- 在 VMware vSphere 平台上安装 OpenShift Container Platform 集群后,您无法更改故障域。您可以在集群安装后添加额外的故障域。 
流程
- 输入以下 - govc命令行工具命令,以创建- openshift-region和- openshift-zonevCenter 标签类别:重要- 如果为 - openshift-region和- openshift-zonevCenter 标签类别指定不同的名称,OpenShift Container Platform 集群的安装会失败。- govc tags.category.create -d "OpenShift region" openshift-region - $ govc tags.category.create -d "OpenShift region" openshift-region- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - govc tags.category.create -d "OpenShift zone" openshift-zone - $ govc tags.category.create -d "OpenShift zone" openshift-zone- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要为您要部署集群的每个区域 vSphere 数据中心创建一个 region 标签,请在终端中输入以下命令: - govc tags.create -c <region_tag_category> <region_tag> - $ govc tags.create -c <region_tag_category> <region_tag>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要为您要部署集群的每个 vSphere 集群创建一个区标签,请输入以下命令: - govc tags.create -c <zone_tag_category> <zone_tag> - $ govc tags.create -c <zone_tag_category> <zone_tag>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 输入以下命令将区域标签附加到每个 vCenter 数据中心对象: - govc tags.attach -c <region_tag_category> <region_tag_1> /<datacenter_1> - $ govc tags.attach -c <region_tag_category> <region_tag_1> /<datacenter_1>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 输入以下命令将区标签附加到每个 vCenter 数据中心对象: - govc tags.attach -c <zone_tag_category> <zone_tag_1> /<datacenter_1>/host/vcs-mdcnc-workload-1 - $ govc tags.attach -c <zone_tag_category> <zone_tag_1> /<datacenter_1>/host/vcs-mdcnc-workload-1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 进入包含安装程序的目录,并根据您选择的安装要求初始化集群部署。
在 vSphere 数据中心中定义的多个数据中心的 install-config.yaml 文件示例
- 1
- 您必须将TechPreviewNoUpgrade定义为此参数的值,以便您可以使用 VMware vSphere 区域和区启用功能。
- 2 3
- 用于指定 vCenter 集群的可选参数。您可以使用openshift-zone标签类别中的标签来定义区。如果没有定义此参数,节点将分布到所有定义的 failure-domains 中。
- 4 5 6 7 8 9 10 11
- 默认 vCenter 拓扑。安装程序使用此拓扑信息来部署 bootstrap 节点。另外,拓扑定义了 vSphere 持久性卷的默认数据存储。
- 12
- 建立地区和区域之间的关系。您可以使用 vCenter 对象(如数据存储对象)定义故障域。故障域定义 OpenShift Container Platform 集群节点的 vCenter 位置。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 13
- 定义故障域的名称。在zones参数中引用每个故障域,将机器池范围到故障域。
- 14
- 您可以使用openshift-region标签类别中的标签来定义区域。标签必须附加到 vCenter 数据中心。
- 15
- 您可以使用openshift-zone tag类别中的标签来定义区。标签必须附加到 vCenter 数据中心。
- 16
- 指定与故障域关联的 vCenter 资源。
- 17
- 用于定义与故障域关联的 vSphere 数据中心的可选参数。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 18
- 可选参数,用于指示与故障域关联的计算集群的绝对路径。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 19
- 安装程序置备的基础架构的可选参数。参数设置安装程序创建虚拟机的现有资源池的绝对路径,例如/<datacenter_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>。如果没有指定值,则会在集群/example_datacenter/host/example_cluster/Resources根中安装资源。
- 20
- 列出 vCenter 实例中包含您配置的虚拟 IP 地址和 DNS 记录的任何网络的可选参数。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 21
- 用于指定用于置备卷的数据存储的可选参数。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。