5.13. 创建安装配置文件
您可以自定义在 VMware vSphere 上安装的 OpenShift Container Platform 集群。
先决条件
- 获取 OpenShift Container Platform 安装程序和集群的 pull secret。对于受限网络安装,这些文件位于您的镜像主机上。
-
具有创建镜像 registry 时生成的
imageContentSources
值。 - 获取您的镜像 registry 的证书内容。
- 检索 Red Hat Enterprise Linux CoreOS(RHCOS)镜像,并将其上传到可访问的位置。
- 在订阅级别获取服务主体权限。
流程
创建
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 密钥。- Select vsphere 作为目标平台。
- 指定 vCenter 实例的名称。
指定创建集群所需的权限的 vCenter 帐户的用户名和密码。
安装程序连接到您的 vCenter 实例。
选择要连接的 vCenter 实例中的数据中心。
注意创建安装配置文件后,您可以修改该文件以创建多个 vSphere 数据中心环境。这意味着您可以将 OpenShift Container Platform 集群部署到在单个 VMware vCenter 中运行的多个 vSphere 数据中心。有关创建此环境的更多信息,请参阅名为 VMware vSphere 区域和区启用的部分。
- 选择要使用的默认 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
文件中,将platform.vsphere.clusterOSImage
的值设置为镜像位置或名称。例如:platform: vsphere: clusterOSImage: http://mirror.example.com/images/rhcos-43.81.201912131630.0-vmware.x86_64.ova?sha256=ffebbd68e8a1f2a245ca19522c16c86f67f9ac8e4e0c1f0a812b068b16f7265d
编辑
install-config.yaml
文件,以提供在受限网络中安装所需的额外信息。更新
pullSecret
值,使其包含 registry 的身份验证信息:pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'
对于
<mirror_host_name>,请指定
您在镜像 registry 证书中指定的 registry 域名;对于 <credentials>,
请指定您的镜像 registry 的 base64 编码用户名和密码。添加
additionalTrustBundle
参数和值。additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
该值必须是您用于镜像 registry 的证书文件内容。证书文件可以是现有的可信证书颁发机构,也可以是您为镜像 registry 生成的自签名证书。
添加镜像内容资源,类似于以下 YAML 摘录:
imageContentSources: - mirrors: - <mirror_host_name>:5000/<repo_name>/release source: quay.io/openshift-release-dev/ocp-release - mirrors: - <mirror_host_name>:5000/<repo_name>/release source: registry.redhat.io/ocp/release
对于这些值,请使用您在创建镜像 registry 时记录的
imageContentSources
。
-
对您需要的
install-config.yaml
文件进行任何其他修改。您可以在 安装配置参数部分找到有关可用参数 的更多信息。 备份
install-config.yaml
文件,以便您可以使用它安装多个集群。重要install-config.yaml
文件会在安装过程中消耗掉。如果要重复使用该文件,您必须立即备份该文件。
5.13.1. 安装配置参数
在部署 OpenShift Container Platform 集群前,您可以提供参数值来描述托管集群的云平台中的帐户,并选择性地自定义集群平台。在创建 install-config.yaml
安装配置文件时,您可以通过命令行为所需参数提供值。如果自定义集群,您可以修改 install-config.yaml
文件以提供有关平台的更多详情。
安装后,您无法在 install-config.yaml
文件中修改这些参数。
5.13.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.13.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.13.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 模式。 注意 不是所有 CCO 模式都支持所有云供应商。如需有关 CCO 模式的更多信息,请参阅集群 Operator 参考内容中的 Cloud Credential Operator 条目。 注意
如果您的 AWS 帐户启用了服务控制策略 (SCP),您必须将 |
|
| release-image 内容的源和存储库。 |
对象数组。包括一个 |
|
使用 | 字符串 |
| 指定可能还包含同一镜像的一个或多个仓库。 | 字符串数组 |
| 如何发布或公开集群的面向用户的端点,如 Kubernetes API、OpenShift 路由。 |
在非云平台上不支持将此字段设置为 重要
如果将字段的值设为 |
| 用于验证对集群机器的访问的 SSH 密钥。 注意
对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定 |
例如, |
- 不是所有 CCO 模式都支持所有云供应商。有关 CCO 模式的更多信息,请参阅身份验证和授权内容中的"管理云供应商凭证"条目。
5.13.1.4. 其他 VMware vSphere 配置参数
下表描述了其他 VMware vSphere 配置参数。
platform.vsphere
参数为表中列出的每个参数添加前缀。
参数 | 描述 | 值 |
---|---|---|
platform: vsphere: | 描述托管集群的云平台中的帐户。您可以使用参数来自定义平台。如果您为机器池中的 compute 和 control plane 机器提供额外的配置设置,则不需要该参数。您只能为 OpenShift Container Platform 集群指定一个 vCenter 服务器。 | vSphere 配置对象的字典 |
platform: vsphere: apiVIPs: | 为 control plane API 访问配置的虚拟 IP (VIP) 地址。 注意 这个参数只适用于安装程序置备的基础架构,而无需配置外部负载均衡器。您不能在用户置备的基础架构中指定此参数。 | 多个 IP 地址 |
platform: vsphere: diskType: | 可选:磁盘置备方法。如果没有设置,则默认值为 vSphere 默认存储策略。 |
有效值为 |
platform: vsphere: failureDomains: region: |
如果为集群定义多个故障域,则必须将标签附加到每个 vCenter 数据中心。要定义区域,请使用 | 字符串 |
platform: vsphere: failureDomains: server: |
指定 VMware vCenter 服务器的完全限定主机名或 IP 地址,以便客户端可以访问故障域资源。您必须将 | 字符串 |
platform: vsphere: failureDomains: zone: |
如果为集群定义多个故障域,则必须为每个 vCenter 集群附加标签。要定义一个区,请使用 | 字符串 |
platform: vsphere: failureDomains: topology: datacenter: |
列出并定义 OpenShift Container Platform 虚拟机 (VM) 操作的数据中心。数据中心列表必须与 | 字符串 |
platform: vsphere: failureDomains: topology: datastore: |
指定为故障域存储虚拟机文件的 vSphere 数据存储的路径。您必须将 | 字符串 |
platform: vsphere: failureDomains: topology: folder: |
可选:用户创建虚拟机的现有文件夹的绝对路径,例如 | 字符串 |
platform: vsphere: failureDomains: topology: networks: | 列出 vCenter 实例中包含您配置的虚拟 IP 地址和 DNS 记录的任何网络。 | 字符串 |
platform: vsphere: failureDomains: topology: resourcePool: |
可选:安装程序创建虚拟机的现有资源池的绝对路径,例如 | 字符串 |
platform: vsphere: ingressVIPs: | 为集群 Ingress 配置的虚拟 IP (VIP) 地址。 注意 这个参数只适用于安装程序置备的基础架构,而无需配置外部负载均衡器。您不能在用户置备的基础架构中指定此参数。 | 多个 IP 地址 |
platform: vsphere: vcenters: | 配置连接详情,以便服务可以与 vCenter 服务器通信。目前,只支持单个 vCenter 服务器。 | vCenter 配置对象的数组。 |
platform: vsphere: vcenters: datacenters: |
列出并定义 OpenShift Container Platform 虚拟机 (VM) 操作的数据中心。数据中心列表必须与 | 字符串 |
platform: vsphere: vcenters: password: | 与 vSphere 用户关联的密码。 | 字符串 |
platform: vsphere: vcenters: port: | 用于与 vCenter 服务器通信的端口号。 | 整数 |
platform: vsphere: vcenters: server: | vCenter 服务器的完全限定主机名(FQHN)或 IP 地址。 | 字符串 |
platform: vsphere: vcenters: user: | 与 vSphere 用户关联的用户名。 | 字符串 |
5.13.1.5. 弃用的 VMware vSphere 配置参数
在 OpenShift Container Platform 4.13 中,以下 vSphere 配置参数已弃用。您可以继续使用这些参数,但安装程序不会在 install-config.yaml
文件中自动指定这些参数。
下表列出了每个已弃用的 vSphere 配置参数。
platform.vsphere
参数为表中列出的每个参数添加前缀。
参数 | 描述 | 值 |
---|---|---|
platform: vsphere: apiVIP: | 为 control plane API 访问配置的虚拟 IP(VIP)地址。 注意
在 OpenShift Container Platform 4.12 及更新的版本中, |
IP 地址,如 |
platform: vsphere: cluster: | 安装 OpenShift Container Platform 集群的 vCenter 集群。 | 字符串 |
platform: vsphere: datacenter: | 定义 OpenShift Container Platform 虚拟机 (VM) 操作的数据中心。 | 字符串 |
platform: vsphere: defaultDatastore: | 用于调配卷的默认数据存储名称。 | 字符串 |
platform: vsphere: folder: | 可选:安装程序创建虚拟机的现有文件夹的绝对路径。如果没有提供这个值,安装程序会创建一个文件夹,它的名称为 datacenter 虚拟机文件夹中的基础架构 ID。 |
字符串,如 |
platform: vsphere: ingressVIP: | 为集群 Ingress 配置的虚拟 IP (VIP) 地址。 注意
在 OpenShift Container Platform 4.12 及更新的版本中, |
IP 地址,如 |
platform: vsphere: network: | 包含您配置的虚拟 IP 地址和 DNS 记录的 vCenter 实例中的网络。 | 字符串 |
platform: vsphere: password: | vCenter 用户名的密码。 | 字符串 |
platform: vsphere: resourcePool: |
可选:安装程序创建虚拟机的现有资源池的绝对路径。如果没有指定值,安装程序会在 |
字符串,例如 |
platform: vsphere: username: | 用于连接 vCenter 实例的用户名。此用户必须至少具有 vSphere 中 静态或动态持久性卷置备 所需的角色和权限。 | 字符串 |
platform: vsphere: vCenter: | vCenter 服务器的完全限定主机名或 IP 地址。 | 字符串 |
5.13.1.6. 可选的 VMware vSphere 机器池配置参数
下表描述了可选的 VMware vSphere 机器池配置参数。
platform.vsphere
参数为表中列出的每个参数添加前缀。
参数 | 描述 | 值 |
---|---|---|
| 安装程序从中下载 RHCOS 镜像的位置。您必须设置此参数才能在受限网络中执行安装。 |
HTTP 或 HTTPS URL,可选使用 SHA-256 校验和。例如: |
| 以 GB 为单位的磁盘大小。 | 整数 |
|
用于分配虚拟机的虚拟处理器内核总数。 | 整数 |
|
虚拟机中每个插槽的内核数。虚拟机上的虚拟套接字数量为 platform | 整数 |
| 以 MB 为单位的虚拟机内存大小。 | 整数 |
5.13.2. 安装程序置备的 VMware vSphere 集群的 install-config.yaml 文件示例
您可以自定义 install-config.yaml
文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
apiVersion: v1 baseDomain: example.com 1 compute: 2 - architecture: amd64 name: <worker_node> platform: {} replicas: 3 controlPlane: 3 architecture: amd64 name: <parent_node> platform: {} replicas: 3 metadata: creationTimestamp: null name: test 4 platform: vsphere: 5 apiVIPs: - 10.0.0.1 failureDomains: 6 - name: <failure_domain_name> region: <default_region_name> server: <fully_qualified_domain_name> topology: computeCluster: "/<datacenter>/host/<cluster>" datacenter: <datacenter> datastore: "/<datacenter>/datastore/<datastore>" 7 networks: - <VM_Network_name> resourcePool: "/<datacenter>/host/<cluster>/Resources/<resourcePool>" 8 folder: "/<datacenter_name>/vm/<folder_name>/<subfolder_name>" zone: <default_zone_name> ingressVIPs: - 10.0.0.2 vcenters: - datacenters: - <datacenter> password: <password> port: 443 server: <fully_qualified_domain_name> user: administrator@vsphere.local diskType: thin 9 clusterOSImage: http://mirror.example.com/images/rhcos-47.83.202103221318-0-vmware.x86_64.ova 10 fips: false pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' 11 sshKey: 'ssh-ed25519 AAAA...' additionalTrustBundle: | 12 -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE----- imageContentSources: 13 - mirrors: - <mirror_host_name>:<mirror_port>/<repo_name>/release source: <source_image_1> - mirrors: - <mirror_host_name>:<mirror_port>/<repo_name>/release-images source: <source_image_2>
- 1
- 集群的基域。所有 DNS 记录都必须是这个基域的子域,并包含集群名称。
- 2 3
controlPlane
部分是一个单个映射,但compute
部分是一系列映射。为满足不同数据结构的要求,compute
部分的第一行必须以连字符-
开头,controlPlane部分
的第一行则不以连字符开头。仅使用一个 control plane 池。- 4
- 您在 DNS 记录中指定的集群名称。
- 5
- 可选:为 compute 和 control plane 机器提供额外的机器池参数配置。
- 6
- 建立地区和区域之间的关系。您可以使用 vCenter 对象(如
datastore
对象)定义故障域。故障域定义 OpenShift Container Platform 集群节点的 vCenter 位置。 - 7
- 保存虚拟机文件、模板和 ISO 镜像的 vSphere 数据存储路径。重要
您可以指定数据存储集群中存在的任何数据存储路径。默认情况下,Storage vMotion 会自动为数据存储集群启用。红帽不支持 Storage vMotion,因此您必须禁用 Storage vMotion 以避免 OpenShift Container Platform 集群的数据丢失问题。
如果需要在多个数据存储间指定虚拟机,请使用
数据存储
对象在集群install-config.yaml
配置文件中指定故障域。如需更多信息,请参阅"VMware vSphere 区域和区启用"。 - 8
- 可选:为创建机器提供现有资源池。如果没有指定值,安装程序将使用 vSphere 集群的 root 资源池。
- 9
- vSphere 磁盘置备方法。
- 10
- 可从 bastion 服务器访问的 Red Hat Enterprise Linux CoreOS(RHCOS)镜像的位置。
- 11
- 对于
<local_registry>
,请指定 registry 域名,以及您的镜像 registry 用来提供内容的可选端口。例如registry.example.com 或
registry.example.com:5000
。对于<credentials>
,请为您的镜像 registry 指定 base64 编码的用户名和密码。 - 12
- 提供用于镜像 registry 的证书文件内容。
- 13
- 提供命令输出中的
imageContentSources 部分来
镜像存储库。
在 OpenShift Container Platform 4.12 及更新的版本中,apiVIP
和 ingressVIP
配置设置已弃用。反之,使用列表格式在 apiVIPs
和 ingressVIPs
配置设置中输入值。
5.13.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
文件并添加代理设置。例如: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
。使用*
绕过所有目的地的代理。您必须包含 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 Container Platform 时引用。
安装程序会创建一个名为 cluster 的集群范围代理,该代理 使用
提供的 install-config.yaml
文件中的代理设置。如果没有提供代理设置,仍然会创建一个 cluster
Proxy
对象,但它会有一个空 spec
。
只支持名为 cluster
的 Proxy
对象,且无法创建额外的代理。
5.13.4. 为 VMware vCenter 配置区域和区域
您可以修改默认安装配置文件,以便您可以将 OpenShift Container Platform 集群部署到在单个 VMware vCenter 中运行的多个 vSphere 数据中心。
之前版本的 OpenShift Container Platform 的默认 install-config.yaml
文件配置已弃用。您可以继续使用已弃用的默认配置,但 openshift-installer
会提示您显示在配置文件中已弃用字段的警告信息。
这个示例使用 govc
命令。govc
命令是 VMware 提供的开源命令;它不是红帽提供的。红帽支持团队不维护 govc
命令。有关下载和安装 govc
的说明,请参阅 VMware 文档网站
先决条件
您有一个现有的
install-config.yaml
安装配置文件。重要您必须为 OpenShift Container Platform 集群指定一个故障域,以便您可以为 VMware vCenter 服务器置备数据中心对象。如果您需要在不同的数据中心、集群、数据存储和其他组件中置备虚拟机节点,请考虑指定多个故障域。要启用区域和区域,您必须为 OpenShift Container Platform 集群定义多个故障域。
流程
输入以下
govc
命令行工具命令,以创建openshift-region
和openshift-zone
vCenter 标签类别:重要如果为
openshift-region
和openshift-zone
vCenter 标签类别指定不同的名称,OpenShift Container Platform 集群的安装会失败。$ govc tags.category.create -d "OpenShift region" openshift-region
$ govc tags.category.create -d "OpenShift zone" openshift-zone
要为您要部署集群的每个区域 vSphere 数据中心创建一个 region 标签,请在终端中输入以下命令:
$ govc tags.create -c <region_tag_category> <region_tag>
要为您要部署集群的每个 vSphere 集群创建一个区标签,请输入以下命令:
$ govc tags.create -c <zone_tag_category> <zone_tag>
输入以下命令将区域标签附加到每个 vCenter 数据中心对象:
$ govc tags.attach -c <region_tag_category> <region_tag_1> /<datacenter_1>
输入以下命令将区标签附加到每个 vCenter 数据中心对象:
$ govc tags.attach -c <zone_tag_category> <zone_tag_1> /<datacenter_1>/host/vcs-mdcnc-workload-1
- 进入包含安装程序的目录,并根据您选择的安装要求初始化集群部署。
在 vSphere 数据中心中定义的多个数据中心的 install-config.yaml
文件示例
--- compute: --- vsphere: zones: - "<machine_pool_zone_1>" - "<machine_pool_zone_2>" --- controlPlane: --- vsphere: zones: - "<machine_pool_zone_1>" - "<machine_pool_zone_2>" --- platform: vsphere: vcenters: --- datacenters: - <datacenter1_name> - <datacenter2_name> failureDomains: - name: <machine_pool_zone_1> region: <region_tag_1> zone: <zone_tag_1> server: <fully_qualified_domain_name> topology: datacenter: <datacenter1> computeCluster: "/<datacenter1>/host/<cluster1>" networks: - <VM_Network1_name> datastore: "/<datacenter1>/datastore/<datastore1>" resourcePool: "/<datacenter1>/host/<cluster1>/Resources/<resourcePool1>" folder: "/<datacenter1>/vm/<folder1>" - name: <machine_pool_zone_2> region: <region_tag_2> zone: <zone_tag_2> server: <fully_qualified_domain_name> topology: datacenter: <datacenter2> computeCluster: "/<datacenter2>/host/<cluster2>" networks: - <VM_Network2_name> datastore: "/<datacenter2>/datastore/<datastore2>" resourcePool: "/<datacenter2>/host/<cluster2>/Resources/<resourcePool2>" folder: "/<datacenter2>/vm/<folder2>" ---