8.11. 手动创建安装配置文件
安装集群要求您手动创建安装配置文件。
Cluster Cloud Controller Manager Operator 对提供的主机名或 IP 地址执行连接检查。确保为可访问的 vCenter 服务器指定主机名或 IP 地址。如果您向不存在的 vCenter 服务器提供元数据,集群安装会在 bootstrap 阶段失败。
先决条件
- 您在本地机器上有一个 SSH 公钥来提供给安装程序。该密钥将用于在集群节点上进行 SSH 身份验证,以进行调试和灾难恢复。
- 已获取 OpenShift Container Platform 安装程序和集群的 pull secret。
-
获取命令输出中的
imageContentSources 部分来
镜像存储库。 - 获取您的镜像 registry 的证书内容。
流程
创建一个安装目录来存储所需的安装资产:
$ mkdir <installation_directory>
重要您必须创建一个目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。
自定义提供的
install-config.yaml
文件模板示例,并将其保存在<installation_directory>
中。注意您必须将此配置文件命名为
install-config.yaml
。-
除非使用 RHCOS 默认信任的 registry,如
docker.io
,否则必须在additionalTrustBundle
部分中提供镜像存储库的证书内容。在大多数情况下,您必须为您的镜像提供证书。 -
您必须包含命令输出
中的 imageContentSources 部分才能
镜像存储库。
-
除非使用 RHCOS 默认信任的 registry,如
-
如果要安装三节点集群,请通过将
compute.replicas
参数设置为0
来修改install-config.yaml
文件。这样可确保集群的 control plane 可以调度。如需更多信息,请参阅"在 {platform} 上安装三节点集群"。 备份
install-config.yaml
文件,以便您可以使用它安装多个集群。重要install-config.yaml
文件会在安装过程的下一步中使用。现在必须备份它。
8.11.1. 安装配置参数
在部署 OpenShift Container Platform 集群前,您可以提供参数值来描述托管集群的云平台中的帐户,并选择性地自定义集群平台。在创建 install-config.yaml
安装配置文件时,您可以通过命令行为所需参数提供值。如果自定义集群,您可以修改 install-config.yaml
文件以提供有关平台的更多详情。
安装后,您无法在 install-config.yaml
文件中修改这些参数。
8.11.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" } } } |
8.11.1.2. 网络配置参数
您可以根据现有网络基础架构的要求自定义安装配置。例如,您可以扩展集群网络的 IP 地址块,或者提供不同于默认值的不同 IP 地址块。
- 如果使用 Red Hat OpenShift Networking OVN-Kubernetes 网络插件,则支持 IPv4 和 IPv6 地址系列。
- 如果您使用 Red Hat OpenShift Networking OpenShift SDN 网络插件,则只支持 IPv4 地址系列。
在 VMware vSphere 上,双栈网络必须指定 IPv4 作为主要地址系列。
以下额外限制适用于双栈网络:
-
节点仅在
node.status.addresses
中报告其 IPv6 IP 地址 - 仅支持只有一个 NIC 的节点
-
为主机网络配置的 Pod 仅在
pod.status.IP
中报告其 IPv6 地址
如果将集群配置为使用两个 IP 地址系列,请查看以下要求:
- 两个 IP 系列都必须将相同的网络接口用于默认网关。
- 两个 IP 系列都必须具有默认网关。
- 您必须为所有网络配置参数指定 IPv4 和 IPv6 地址。例如,以下配置 IPv4 地址列在 IPv6 地址的前面。
networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd00:10:128::/56 hostPrefix: 64 serviceNetwork: - 172.30.0.0/16 - fd00:172:16::/112
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 网络块。
例如: 注意
将 |
8.11.1.3. 可选的配置参数
下表描述了可选的安装配置参数:
参数 | 描述 | 值 |
---|---|---|
| 添加到节点可信证书存储中的 PEM 编码 X.509 证书捆绑包。配置了代理时,也可以使用此信任捆绑包。 | 字符串 |
| 控制可选核心组件的安装。您可以通过禁用可选组件来减少 OpenShift Container Platform 集群的空间。如需更多信息,请参阅安装中的"集群功能"页面。 | 字符串数组 |
|
选择要启用的一组初始可选功能。有效值为 | 字符串 |
|
将可选功能集合扩展到您在 | 字符串数组 |
| 启用工作负载分区,它会隔离 OpenShift Container Platform 服务、集群管理工作负载和基础架构 pod,以便在保留的一组 CPU 上运行。工作负载分区只能在安装过程中启用,且在安装后无法禁用。虽然此字段启用工作负载分区,但它不会将工作负载配置为使用特定的 CPU。如需更多信息,请参阅 Scalability and Performance 部分中的 Workload partitioning 页面。 |
|
| 组成计算节点的机器的配置。 |
|
|
决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 | 字符串 |
|
使用 |
|
|
使用 |
|
| 要置备的计算机器数量,也称为 worker 机器。 |
大于或等于 |
| 为功能集启用集群。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。有关在安装过程中启用功能集的更多信息,请参阅"使用功能门启用功能"。 |
字符串.要启用的功能集的名称,如 |
| 组成 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 模式的更多信息,请参阅身份验证和授权内容中的"管理云供应商凭证"条目。
8.11.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 用户关联的用户名。 | 字符串 |
8.11.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 地址。 | 字符串 |
8.11.1.6. 可选的 VMware vSphere 机器池配置参数
下表描述了可选的 VMware vSphere 机器池配置参数。
platform.vsphere
参数为表中列出的每个参数添加前缀。
参数 | 描述 | 值 |
---|---|---|
| 安装程序从中下载 RHCOS 镜像的位置。您必须设置此参数才能在受限网络中执行安装。 |
HTTP 或 HTTPS URL,可选使用 SHA-256 校验和。例如: |
| 以 GB 为单位的磁盘大小。 | 整数 |
|
用于分配虚拟机的虚拟处理器内核总数。 | 整数 |
|
虚拟机中每个插槽的内核数。虚拟机上的虚拟套接字数量为 platform | 整数 |
| 以 MB 为单位的虚拟机内存大小。 | 整数 |
8.11.2. VMware vSphere 的 install-config.yaml
文件示例
您可以自定义 install-config.yaml
文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
additionalTrustBundlePolicy: Proxyonly apiVersion: v1 baseDomain: example.com 1 compute: 2 - architecture: amd64 name: <worker_node> platform: {} replicas: 0 3 controlPlane: 4 architecture: amd64 name: <parent_node> platform: {} replicas: 3 5 metadata: creationTimestamp: null name: test 6 networking: --- platform: vsphere: failureDomains: 7 - name: <failure_domain_name> region: <default_region_name> server: <fully_qualified_domain_name> topology: computeCluster: "/<datacenter>/host/<cluster>" datacenter: <datacenter> 8 datastore: "/<datacenter>/datastore/<datastore>" 9 networks: - <VM_Network_name> resourcePool: "/<datacenter>/host/<cluster>/Resources/<resourcePool>" 10 folder: "/<datacenter_name>/vm/<folder_name>/<subfolder_name>" 11 zone: <default_zone_name> vcenters: - datacenters: - <datacenter> password: <password> 12 port: 443 server: <fully_qualified_domain_name> 13 user: administrator@vsphere.local diskType: thin 14 fips: false 15 pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' 16 sshKey: 'ssh-ed25519 AAAA...' 17 additionalTrustBundle: | 18 -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE----- imageContentSources: 19 - 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 4
controlPlane
部分是一个单个映射,但 compute 部分是一系列映射。为满足不同数据结构的要求,compute
部分的第一行必须以连字符-
开头,controlPlane部分
的第一行则不以连字符开头。两个部分都定义单个机器池,因此只使用一个 control plane。OpenShift Container Platform 不支持定义多个计算池。- 3
replicas
参数的值必须设置为0
。此参数控制集群为您创建和管理的 worker 数量,在使用用户置备的基础架构时集群不会执行这些功能。在完成 OpenShift Container Platform 安装前,您必须手动为集群部署 worker 机器。- 5
- 您添加到集群的 control plane 机器数量。由于集群使用此值作为集群中的 etcd 端点数量,所以该值必须与您部署的 control plane 机器数量匹配。
- 6
- 您在 DNS 记录中指定的集群名称。
- 7
- 建立地区和区域之间的关系。您可以使用 vCenter 对象(如
datastore
对象)定义故障域。故障域定义 OpenShift Container Platform 集群节点的 vCenter 位置。 - 8
- vSphere 数据中心.
- 9
- 保存虚拟机文件、模板和 ISO 镜像的 vSphere 数据存储路径。重要
您可以指定数据存储集群中存在的任何数据存储路径。默认情况下,Storage vMotion 会自动为数据存储集群启用。红帽不支持 Storage vMotion,因此您必须禁用 Storage vMotion 以避免 OpenShift Container Platform 集群的数据丢失问题。
如果需要在多个数据存储间指定虚拟机,请使用
数据存储
对象在集群install-config.yaml
配置文件中指定故障域。如需更多信息,请参阅"VMware vSphere 区域和区启用"。 - 10
- 可选: 对于安装程序置备的基础架构,安装程序创建虚拟机的现有资源池的绝对路径,例如
/<datacenter_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>
。如果没有指定值,则会在集群/example_datacenter/host/example_cluster/Resources
根中安装资源。 - 11
- 可选: 对于安装程序置备的基础架构,安装程序创建虚拟机的现有文件夹的绝对路径,如
/<datacenter_name>/vm/<folder_name>/<subfolder_name>
。如果没有提供这个值,安装程序会在数据中心虚拟机文件夹中创建一个顶层文件夹,其名称为基础架构 ID。如果您为集群提供基础架构,且您不想使用默认的StorageClass
对象(名为thin
),您可以从install-config.yaml
文件中省略folder
参数。 - 12
- 与 vSphere 用户关联的密码。
- 13
- vCenter 服务器的完全限定主机名或 IP 地址。重要
Cluster Cloud Controller Manager Operator 对提供的主机名或 IP 地址执行连接检查。确保为可访问的 vCenter 服务器指定主机名或 IP 地址。如果您向不存在的 vCenter 服务器提供元数据,集群安装会在 bootstrap 阶段失败。
- 14
- vSphere 磁盘置备方法。
- 15
- 是否启用或禁用 FIPS 模式。默认情况下不启用 FIPS 模式。如果启用了 FIPS 模式,运行 OpenShift Container Platform 的 Red Hat Enterprise Linux CoreOS(RHCOS)机器会绕过默认的 Kubernetes 加密套件,并使用由 RHCOS 提供的加密模块。重要
OpenShift Container Platform 4.13 基于 Red Hat Enterprise Linux (RHEL) 9.2。RHEL 9.2 加密模块尚未经过 FIPS 验证。如需更多信息,请参阅 4.13 OpenShift Container Platform 发行注记 中的 "About this release"。
- 16
- 对于
<local_registry>
,请指定 registry 域名,以及您的镜像 registry 用来提供内容的可选端口。例如registry.example.com 或
registry.example.com:5000
。对于<credentials>
,请为您的镜像 registry 指定 base64 编码的用户名和密码。 - 17
- Red Hat Enterprise Linux CoreOS(RHCOS)中
core
用户的默认 SSH 密钥的公钥部分。注意对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定
ssh-agent
进程使用的 SSH 密钥。 - 18
- 提供用于镜像 registry 的证书文件内容。
- 19
- 提供命令输出中的
imageContentSources 部分来
镜像存储库。
8.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
文件并添加代理设置。例如: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
对象,且无法创建额外的代理。
8.11.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>" ---