×

在将 OpenShift Container Platform 集群部署到 vSphere 之前,您需要提供参数来自定义集群及其主机平台。创建 `install-config.yaml` 文件时,您可以通过命令行提供必需参数的值。然后,您可以修改 `install-config.yaml` 文件以进一步自定义集群。

vSphere 可用的安装配置参数

下表指定了您可以在安装过程中设置的必需、可选和 vSphere 特定的安装配置参数。

安装后,您无法在 `install-config.yaml` 文件中修改这些参数。

必需的配置参数

下表描述了必需的安装配置参数

表 1. 必需参数
参数 描述
apiVersion:

`install-config.yaml` 内容的 API 版本。当前版本为 `v1`。安装程序也可能支持较旧的 API 版本。

字符串

baseDomain:

云提供商的基本域。基本域用于创建到 OpenShift Container Platform 集群组件的路由。集群的完整 DNS 名称是 `baseDomain` 和 `metadata.name` 参数值的组合,使用 `.` 格式。

完全限定的域名或子域名,例如 `example.com`。

metadata:

Kubernetes 资源 `ObjectMeta`,其中仅使用 `name` 参数。

对象

metadata:
  name:

集群名称。集群的 DNS 记录都是子域名 {{.metadata.name}}.{{.baseDomain}}

由小写字母和连字符 (-) 组成的字符串,例如 dev

platform:

用于执行安装的特定平台的配置:awsbaremetalazuregcpibmcloudnutanixopenstackpowervsvsphere{}。有关 platform.<platform> 参数的更多信息,请参阅下面您特定平台的表格。

对象

pullSecret:

Red Hat OpenShift 集群管理器获取拉取密钥,以验证从 Quay.io 等服务下载 OpenShift Container Platform 组件的容器镜像。

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"[email protected]"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"[email protected]"
      }
   }
}

网络配置参数

您可以根据现有网络基础设施的要求自定义安装配置。例如,您可以扩展集群网络的 IP 地址块或提供与默认值不同的 IP 地址块。

在为集群配置网络参数之前,请考虑以下信息

  • 如果您使用 Red Hat OpenShift Networking OVN-Kubernetes 网络插件,则支持 IPv4 和 IPv6 地址族。

  • 如果您在支持 IPv4 和非链路本地 IPv6 地址的网络上部署了 OpenShift Container Platform 集群中的节点,请将集群配置为使用双栈网络。

    • 对于配置为双栈网络的集群,IPv4 和 IPv6 流量都必须使用与默认网关相同的网络接口。这确保在多网络接口控制器 (NIC) 环境中,集群可以根据可用的网络接口检测要使用的 NIC。有关更多信息,请参阅《关于 OVN-Kubernetes 网络插件》中的“OVN-Kubernetes IPv6 和双栈限制”。

    • 为避免网络连接问题,请不要在支持双栈网络的主机上安装单栈 IPv4 集群。

在 VMware vSphere 上,双栈网络可以指定 IPv4 或 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
表 2. 网络参数
参数 描述
networking:

集群网络的配置。

对象

安装后,您无法修改 networking 对象指定的参数。

networking:
  networkType:

要安装的 Red Hat OpenShift Networking 网络插件。

OVNKubernetesOVNKubernetes 是适用于 Linux 网络和包含 Linux 和 Windows 服务器的混合网络的 CNI 插件。默认值为 OVNKubernetes

networking:
  clusterNetwork:

Pod 的 IP 地址块。

默认值为 10.128.0.0/14,主机前缀为 /23

如果您指定多个 IP 地址块,则这些块不得重叠。

对象数组。例如

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
networking:
  clusterNetwork:
    cidr:

如果您使用 networking.clusterNetwork,则需要此参数。IP 地址块。

IPv4 网络。

采用无类别域间路由 (CIDR) 表示法的 IP 地址块。IPv4 块的前缀长度介于 032 之间。

networking:
  clusterNetwork:
    hostPrefix:

要分配给每个节点的子网前缀长度。例如,如果将 hostPrefix 设置为 23,则每个节点都将从给定的 cidr 中分配一个 /23 子网。hostPrefix 值为 23 提供 510 (2^(32 - 23) - 2) 个 Pod IP 地址。

子网前缀。

默认值为 23

networking:
  serviceNetwork:

服务的 IP 地址块。默认值为 172.30.0.0/16

OVN-Kubernetes 网络插件仅支持服务网络的单个 IP 地址块。

包含 CIDR 格式 IP 地址块的数组。例如

networking:
  serviceNetwork:
   - 172.30.0.0/16
networking:
  machineNetwork:

机器的 IP 地址块。

如果您指定多个 IP 地址块,则这些块不得重叠。

对象数组。例如

networking:
  machineNetwork:
  - cidr: 10.0.0.0/16
networking:
  machineNetwork:
    cidr:

如果您使用 networking.machineNetwork,则需要此参数。IP 地址块。对于 libvirt 和 IBM Power® 虚拟服务器以外的所有平台,默认值为 10.0.0.0/16。对于 libvirt,默认值为 192.168.126.0/24。对于 IBM Power® 虚拟服务器,默认值为 192.168.0.0/24

CIDR 表示法的 IP 网络块。

例如,10.0.0.0/16

networking.machineNetwork 设置为与首选 NIC 所在的 CIDR 匹配。

可选配置参数

下表描述了可选安装配置参数

表 3. 可选参数
参数 描述
additionalTrustBundle:

添加到节点的受信任证书存储区的 PEM 编码 X.509 证书捆绑包。当配置了代理时,也可以使用此信任捆绑包。

字符串

capabilities:

控制可选核心集群组件的安装。您可以通过禁用可选组件来减少 OpenShift Container Platform 集群的占用空间。有关更多信息,请参阅《安装》中的“集群功能”页面。

字符串数组

capabilities:
  baselineCapabilitySet:

选择要启用的可选功能的初始集合。有效值为 Nonev4.11v4.12vCurrent。默认值为 vCurrent

字符串

capabilities:
  additionalEnabledCapabilities:

扩展可选功能的集合,超出您在 baselineCapabilitySet 中指定的范围。您可以在此参数中指定多个功能。

字符串数组

cpuPartitioningMode:

启用工作负载分区,这将隔离 OpenShift Container Platform 服务、集群管理工作负载和基础结构 Pod 以在保留的 CPU 集上运行。工作负载分区只能在安装期间启用,安装后无法禁用。虽然此字段启用了工作负载分区,但它不会将工作负载配置为使用特定 CPU。有关更多信息,请参阅《可扩展性和性能》部分中的《工作负载分区》页面。

NoneAllNodesNone 是默认值。

compute:

构成计算节点的机器的配置。

MachinePool 对象数组。

compute:
  architecture:

确定池中机器的指令集体系结构。目前,不支持具有不同体系结构的集群。所有池都必须指定相同的体系结构。有效值为 amd64(默认值)。

字符串

compute:
  name:

如果您使用 compute,则需要此参数。机器池的名称。

worker

compute:
  platform:

如果您使用 compute,则需要此参数。使用此参数指定托管工作机器的云提供商。此参数值必须与 controlPlane.platform 参数值匹配。

awsazuregcpibmcloudnutanixopenstackpowervsvsphere{}

compute:
  replicas:

要配置的计算机器(也称为工作机器)的数量。

大于或等于 2 的正整数。默认值为 3

featureSet:

启用集群的特性集。特性集是默认情况下未启用的 OpenShift Container Platform 特性集合。有关在安装期间启用特性集的更多信息,请参见“使用特性门启用特性”。

字符串。要启用的特性集名称,例如TechPreviewNoUpgrade

controlPlane:

构成控制平面的机器的配置。

MachinePool 对象数组。

controlPlane:
  architecture:

确定池中机器的指令集体系结构。目前,不支持具有不同体系结构的集群。所有池都必须指定相同的体系结构。有效值为 amd64(默认值)。

字符串

controlPlane:
  name:

如果您使用controlPlane,则需要此参数。机器池的名称。

master

controlPlane:
  platform:

如果您使用controlPlane,则需要此参数。使用此参数指定托管控制平面机器的云提供商。此参数值必须与compute.platform参数值匹配。

awsazuregcpibmcloudnutanixopenstackpowervsvsphere{}

controlPlane:
  replicas:

要配置的控制平面机器数量。

支持的值为3,或者在部署单节点 OpenShift 时为1

credentialsMode:

云凭证操作符 (CCO) 模式。如果未指定模式,CCO 会动态尝试确定提供的凭据的功能,在支持多种模式的平台上优先选择 mint 模式。

并非所有 CCO 模式都支持所有云提供商。有关 CCO 模式的更多信息,请参见《身份验证和授权》内容中的“管理云提供商凭据”条目。

MintPassthroughManual 或空字符串 ("")。

fips:

启用或禁用 FIPS 模式。默认值为false(禁用)。如果启用 FIPS 模式,则运行 OpenShift Container Platform 的 Red Hat Enterprise Linux CoreOS (RHCOS) 机器将绕过默认的 Kubernetes 加密套件,并改用随 RHCOS 提供的加密模块。

要为您的集群启用 FIPS 模式,必须从配置为在 FIPS 模式下运行的 Red Hat Enterprise Linux (RHEL) 计算机运行安装程序。有关在 RHEL 上配置 FIPS 模式的更多信息,请参见将 RHEL 切换到 FIPS 模式

在 FIPS 模式下启动的 Red Hat Enterprise Linux (RHEL) 或 Red Hat Enterprise Linux CoreOS (RHCOS) 运行时,OpenShift Container Platform 核心组件仅在 x86_64、ppc64le 和 s390x 架构上使用已提交给 NIST 进行 FIPS 140-2/140-3 验证的 RHEL 加密库。

如果您使用 Azure 文件存储,则无法启用 FIPS 模式。

falsetrue

imageContentSources:

发行版映像内容的来源和存储库。

对象的数组。包含source,以及可选的mirrors,如本表后续行所述。

imageContentSources:
  source:

如果您使用imageContentSources,则需要此参数。指定用户引用的存储库,例如在映像拉取规范中。

字符串

imageContentSources:
  mirrors:

指定一个或多个可能也包含相同映像的存储库。

字符串数组

publish:

如何发布或公开集群的用户端点,例如 Kubernetes API、OpenShift 路由。

InternalExternal。默认值为External

在非云平台上不支持将此字段设置为Internal

如果将字段值设置为Internal,则集群将无法正常工作。有关更多信息,请参考BZ#1953035

sshKey:

用于验证对集群机器访问权限的 SSH 密钥。

对于要在其上执行安装调试或灾难恢复的生产 OpenShift Container Platform 集群,请指定您的ssh-agent进程使用的 SSH 密钥。

例如,sshKey: ssh-ed25519 AAAA..

其他 VMware vSphere 配置参数

下表描述了其他 VMware vSphere 配置参数

表 4. 其他 VMware vSphere 集群参数
参数 描述
platform:
  vsphere:

描述您在托管集群的云平台上的帐户。您可以使用此参数来自定义平台。如果您在机器池中为计算和控制平面机器提供其他配置设置,则不需要此参数。

vSphere 配置对象的字典

platform:
  vsphere:
    apiVIPs:

您为控制平面 API 访问配置的虚拟 IP (VIP) 地址。

此参数仅适用于未配置外部负载均衡器的安装程序配置的 инфраструктура。您不得在用户配置的 инфраструктура 中指定此参数。

多个 IP 地址

platform:
  vsphere:
    diskType:

可选:磁盘配置方法。如果未设置,此值默认为 vSphere 默认存储策略。

有效值为thinthickeagerZeroedThick

platform:
  vsphere:
    failureDomains:

建立区域和区域之间的关系。您可以使用 vCenter 对象(例如datastore对象)定义故障域。故障域定义 OpenShift Container Platform 集群节点的 vCenter 位置。

故障域配置对象的数组。

platform:
  vsphere:
    failureDomains:
      name:

故障域的名称。

字符串

platform:
  vsphere:
    failureDomains:
      region:

如果您为集群定义了多个故障域,则必须将标签附加到每个 vCenter 数据中心。要定义区域,请使用openshift-region标签类别中的标签。对于单个 vSphere 数据中心环境,您不需要附加标签,但必须为参数输入字母数字值,例如datacenter

字符串

platform:
  vsphere:
    failureDomains:
      server:

指定 VMware vCenter 服务器的完全限定主机名或 IP 地址,以便客户端可以访问故障域资源。您必须将server角色应用于 vSphere vCenter 服务器位置。

字符串

platform:
  vsphere:
    failureDomains:
      zone:

如果您为集群定义了多个故障域,则必须将标签附加到每个 vCenter 集群。要定义区域,请使用openshift-zone标签类别中的标签。对于单个 vSphere 数据中心环境,您不需要附加标签,但必须为参数输入字母数字值,例如cluster

字符串

platform:
  vsphere:
    failureDomains:
      topology:
        computeCluster:

vSphere 计算集群的路径。

字符串

platform:
  vsphere:
    failureDomains:
      topology:
        datacenter:

列出并定义 OpenShift Container Platform 虚拟机 (VM) 运行的数据中心。数据中心列表必须与vcenters字段中指定的数据中心列表匹配。

字符串

platform:
  vsphere:
    failureDomains:
      topology:
        datastore:

指定存储故障域虚拟机文件的 vSphere 数据存储的路径。您必须将datastore角色应用于 vSphere vCenter 数据存储位置。

字符串

platform:
  vsphere:
    failureDomains:
      topology:
        folder:

可选:用户创建虚拟机的现有文件夹的绝对路径,例如/<data_center_name>/vm/<folder_name>/<subfolder_name>。如果您不提供此值,则安装程序将在数据中心虚拟机文件夹中创建一个名为基础设施 ID 的顶级文件夹。如果您正在为集群提供基础设施并且不想使用名为thin的默认StorageClass对象,则可以从install-config.yaml文件中省略folder参数。

字符串

platform:
  vsphere:
    failureDomains:
      topology:
        networks:

列出包含您配置的虚拟 IP 地址和 DNS 记录的 vCenter 实例中的任何网络。

字符串

platform:
  vsphere:
    failureDomains:
      topology:
        resourcePool:

可选:安装程序创建虚拟机的现有资源池的绝对路径,例如/<data_center_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>。如果您未指定值,则安装程序将在集群根目录下的/<data_center_name>/host/<cluster_name>/Resources中安装资源。

字符串

platform:
  vsphere:
    failureDomains:
      topology
        template:

指定现有 Red Hat Enterprise Linux CoreOS (RHCOS) 映像模板或虚拟机的绝对路径。安装程序可以使用映像模板或虚拟机在 vSphere 主机上快速安装 RHCOS。考虑使用此参数作为在 vSphere 主机上上传 RHCOS 映像的替代方法。此参数仅可在安装程序配置的基础设施上使用。

字符串

platform:
  vsphere:
    ingressVIPs:

您为集群入口配置的虚拟 IP (VIP) 地址。

此参数仅适用于未配置外部负载均衡器的安装程序配置的 инфраструктура。您不得在用户配置的 инфраструктура 中指定此参数。

多个 IP 地址

platform:
  vsphere:
    vcenters:

配置连接详细信息,以便服务可以与 vCenter 服务器通信。

vCenter 配置对象的数组。

platform:
  vsphere:
    vcenters:
      datacenters:

列出并定义运行 OpenShift Container Platform 虚拟机 (VM) 的数据中心。数据中心列表必须与failureDomains字段中指定的数据中心列表匹配。

字符串

platform:
  vsphere:
    vcenters:
      password:

与 vSphere 用户关联的密码。

字符串

platform:
  vsphere:
    vcenters:
      port:

用于与 vCenter 服务器通信的端口号。

整数

platform:
  vsphere:
    vcenters:
      server:

vCenter 服务器的完全限定主机名 (FQHN) 或 IP 地址。

字符串

platform:
  vsphere:
    vcenters:
      user:

与 vSphere 用户关联的用户名。

字符串

已弃用的 VMware vSphere 配置参数

在 OpenShift Container Platform 4.13 中,以下 vSphere 配置参数已弃用。您可以继续使用这些参数,但安装程序不会自动在install-config.yaml文件中指定这些参数。

下表列出了每个已弃用的 vSphere 配置参数

表 5. 已弃用的 VMware vSphere 集群参数
参数 描述
platform:
  vsphere:
    apiVIP:

您为控制平面 API 访问配置的虚拟 IP (VIP) 地址。

在 OpenShift Container Platform 4.12 及更高版本中,apiVIP配置设置已弃用。请改用List格式在apiVIPs配置设置中输入值。

IP 地址,例如128.0.0.1

platform:
  vsphere:
    cluster:

用于安装 OpenShift Container Platform 集群的 vCenter 集群。

字符串

platform:
  vsphere:
    datacenter:

定义运行 OpenShift Container Platform 虚拟机 (VM) 的数据中心。

字符串

platform:
  vsphere:
    defaultDatastore:

用于配置卷的默认数据存储的名称。

字符串

platform:
  vsphere:
    folder:

可选:安装程序创建虚拟机的现有文件夹的绝对路径。如果您不提供此值,安装程序将在数据中心虚拟机文件夹中使用基础架构 ID 创建一个文件夹。

字符串,例如,/<数据中心名称>/vm/<文件夹名称>/<子文件夹名称>

platform:
  vsphere:
    ingressVIP:

您为集群入口配置的虚拟 IP (VIP) 地址。

在 OpenShift Container Platform 4.12 及更高版本中,ingressVIP配置设置已弃用。请改用List格式在ingressVIPs配置设置中输入值。

IP 地址,例如128.0.0.1

platform:
  vsphere:
    network:

vCenter 实例中包含您已配置的虚拟 IP 地址和 DNS 记录的网络。

字符串

platform:
  vsphere:
    password:

vCenter 用户名的密码。

字符串

platform:
  vsphere:
    resourcePool:

可选:安装程序创建虚拟机的现有资源池的绝对路径。如果您未指定值,安装程序将在集群根目录下的/<数据中心名称>/host/<集群名称>/Resources中安装资源。

字符串,例如,/<数据中心名称>/host/<集群名称>/Resources/<资源池名称>/<可选嵌套资源池名称>

platform:
  vsphere:
    username:

用于连接 vCenter 实例的用户名。此用户至少必须具有在 vSphere 中进行静态或动态持久卷配置所需的权限和角色。

字符串

platform:
  vsphere:
    vCenter:

vCenter 服务器的完全限定主机名或 IP 地址。

字符串

可选的 VMware vSphere 虚拟机池配置参数

下表描述了可选的 VMware vSphere 虚拟机池配置参数

表 6. 可选的 VMware vSphere 虚拟机池参数
参数 描述
platform:
  vsphere:
    clusterOSImage:

安装程序从中下载 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像的位置。在为此参数设置路径值之前,请确保 OpenShift Container Platform 版本中的默认 RHCOS 启动镜像与 RHCOS 镜像模板或虚拟机版本匹配;否则,集群安装可能会失败。

HTTP 或 HTTPS URL,可选带 SHA-256 校验和。例如,https://mirror.openshift.com/images/rhcos-<版本>-vmware.<架构>.ova

platform:
  vsphere:
    osDisk:
      diskSizeGB:

磁盘大小(以 GB 为单位)。

整数

platform:
  vsphere:
    cpus:

分配给虚拟机的虚拟处理器内核总数。platform.vsphere.cpus的值必须是platform.vsphere.coresPerSocket值的倍数。

整数

platform:
  vsphere:
    coresPerSocket:

虚拟机中每个插槽的核心数。虚拟机上的虚拟插槽数为platform.vsphere.cpus/platform.vsphere.coresPerSocket。控制平面节点和工作节点的默认值分别为42

整数

platform:
  vsphere:
    memoryMB:

虚拟机的内存大小(以 MB 为单位)。

整数