×

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

适用于 Nutanix 的可用安装配置参数

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

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

必需的配置参数

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

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

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

字符串

baseDomain:

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

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

metadata:

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

对象

metadata:
  name:

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

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

platform:

要在其上执行安装的特定平台的配置:awsbaremetalazuregcpibmcloudnutanixopenstackpowervsvsphere{}。有关platform.<platform>参数的更多信息,请参阅后面针对您特定平台的表格。

对象

pullSecret:

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

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

网络配置参数

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

仅支持 IPv4 地址。

表 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® Virtual Server 以外的所有平台,默认值为10.0.0.0/16。对于 libvirt,默认值为192.168.126.0/24。对于 IBM Power® Virtual Server,默认值为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:
  hyperthreading:

是否在计算机器上启用或禁用同时多线程处理或超线程。默认情况下,启用同时多线程处理以提高机器内核的性能。

如果禁用同时多线程处理,请确保您的容量规划考虑了机器性能的大幅下降。

EnabledDisabled

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:
  hyperthreading:

是否在控制平面机器上启用或禁用同时多线程处理或超线程。默认情况下,启用同时多线程处理以提高机器内核的性能。

如果禁用同时多线程处理,请确保您的容量规划考虑了机器性能的大幅下降。

EnabledDisabled

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..

其他 Nutanix 配置参数

下表描述了其他 Nutanix 配置参数

表 4. 其他 Nutanix 集群参数
参数 描述
compute:
  platform:
    nutanix:
      categories:
        key:

要应用于计算 VM 的 Prism 类别键的名称。此参数必须与value参数一起使用,并且keyvalue参数都必须存在于 Prism Central 中。有关类别的更多信息,请参阅类别管理

字符串

compute:
  platform:
    nutanix:
      categories:
        value:

要应用于计算 VM 的 Prism 类别键值对的值。此参数必须与key参数一起使用,并且keyvalue参数都必须存在于 Prism Central 中。

字符串

compute:
  platform:
    nutanix:
     failureDomains:

仅适用于计算机的故障域。

故障域在platform.nutanix.failureDomains中指定。

列表。

一个或多个故障域的名称。

compute:
  platform:
    nutanix:
      gpus:
        type:

用于将 GPU 附加到计算机的标识符类型。有效值为“Name”或“DeviceID”。

字符串

compute:
  platform:
    nutanix:
      gpus:
        name:

要附加到计算机的 GPU 设备的名称。如果 GPU type 为“Name”,则需要此参数。

字符串

compute:
  platform:
    nutanix:
      gpus:
        deviceID:

要附加到计算机的 GPU 设备的设备标识符。此信息可在 Prism Central 中获得。如果 GPU type 为“DeviceID”,则需要此参数。

整数

compute:
  platform:
    nutanix:
      project:
        type:

用于为计算 VM 选择项目的标识符类型。项目定义用于管理权限、网络和其他参数的用户角色的逻辑组。有关项目的更多信息,请参阅项目概述

nameuuid

compute:
  platform:
    nutanix:
      project:
        name: or uuid:

与计算 VM 关联的项目的名称或 UUID。此参数必须与type参数一起使用。

字符串

compute:
  platform:
    nutanix:
      bootType:

计算机会使用的启动类型。您必须在 OpenShift Container Platform 4.17 中使用Legacy启动类型。有关启动类型的更多信息,请参阅了解虚拟化环境中的 UEFI、安全启动和 TPM

LegacySecureBootUEFI。默认值为Legacy

compute:
  platform:
    nutanix:
      dataDisks:
        dataSourceImage:
          name:

可选。Prism Central 中虚拟机磁盘的数据源镜像的名称。

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        dataSourceImage:
          referenceName:

可选。故障域中数据源镜像的引用名称。如果您使用此参数,则必须在计算节点所在的每个故障域中配置匹配的dataSourceImage(具有相同的referenceName)。有关配置故障域的更多信息,请参阅在 Nutanix 上安装集群页面中的配置故障域

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        dataSourceImage:
          uuid:

Prism Central 中数据源镜像的 UUID。此值是必需的。

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        deviceProperties:
          adapterType:

磁盘地址的适配器类型。如果磁盘类型为“Disk”,则有效值为“SCSI”、“IDE”、“PCI”、“SATA”或“SPAPR”。如果磁盘类型为“CDRom”,则有效值为“IDE”或“SATA”。

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        deviceProperties:
          deviceIndex:

磁盘地址的索引。有效值为包括 0 在内的非负整数。共享相同适配器类型的磁盘的设备索引应从 0 开始,并连续递增。默认值为 0。对于每个虚拟机,Disk.SCSI.0CDRom.IDE.0索引是保留的。如果您使用Disk.SCSICDRom.IDE磁盘和适配器类型,则deviceIndex应从 1 开始。

非负整数,包括 0。

compute:
  platform:
    nutanix:
      dataDisks:
        deviceProperties:
          deviceType:

磁盘设备类型。有效值为“Disk”和“CDRom”。

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        diskSize:

要附加到虚拟机的磁盘大小。最小大小为 1Gb。

数量格式,例如 100G 或 100Gi。有关此格式的更多信息,请参阅链接:https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Format。

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          diskMode:

磁盘模式。有效值为“Standard”或“Flash”,默认值为“Standard”。

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          storageContainer:
            name:

可选。Prism Central 中虚拟机磁盘使用的存储容器对象的名称。

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          storageContainer:
            referenceName:

可选。故障域中存储容器的引用名称。如果您使用此参数,则必须在计算节点所在的每个故障域中配置匹配的storageContainer(具有相同的referenceName)。有关配置故障域的更多信息,请参阅在 Nutanix 上安装集群页面中的配置故障域

字符串

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          storageContainer:
            uuid:

Prism Central 中存储容器的 UUID。

字符串

controlPlane:
  platform:
    nutanix:
      categories:
        key:

要应用于控制平面 VM 的 Prism 类别键的名称。此参数必须与value参数一起使用,并且keyvalue参数都必须存在于 Prism Central 中。有关类别的更多信息,请参阅类别管理

字符串

controlPlane:
  platform:
    nutanix:
      categories:
        value:

要应用于控制平面 VM 的 Prism 类别键值对的值。此参数必须与key参数一起使用,并且keyvalue参数都必须存在于 Prism Central 中。

字符串

controlPlane:
  platform:
    nutanix:
     failureDomains:

仅适用于控制平面机器的故障域。

故障域在platform.nutanix.failureDomains中指定。

列表。

一个或多个故障域的名称。

controlPlane:
  platform:
    nutanix:
      project:
        type:

用于为控制平面虚拟机选择项目的标识符类型。项目定义用于管理权限、网络和其他参数的用户角色的逻辑组。有关项目的更多信息,请参阅项目概述

nameuuid

controlPlane:
  platform:
    nutanix:
      project:
        name: or uuid:

与控制平面虚拟机关联的项目的名称或 UUID。此参数必须与type参数一起使用。

字符串

platform:
  nutanix:
    defaultMachinePlatform:
      categories:
        key:

要应用于所有虚拟机的 Prism 类别键的名称。此参数必须与value参数一起使用,并且keyvalue参数都必须存在于 Prism Central 中。有关类别的更多信息,请参阅类别管理

字符串

platform:
  nutanix:
    defaultMachinePlatform:
      categories:
        value:

要应用于所有虚拟机的 Prism 类别键值对的值。此参数必须与key参数一起使用,并且keyvalue参数都必须存在于 Prism Central 中。

字符串

platform:
  nutanix:
    defaultMachinePlatform:
      failureDomains:

同时适用于控制平面机器和计算机器的故障域。

故障域在platform.nutanix.failureDomains中指定。

列表。

一个或多个故障域的名称。

platform:
  nutanix:
    defaultMachinePlatform:
      project:
        type:

用于为所有虚拟机选择项目的标识符类型。项目定义用于管理权限、网络和其他参数的用户角色的逻辑组。有关项目的更多信息,请参阅项目概述

nameuuid

platform:
  nutanix:
    defaultMachinePlatform:
      project:
        name: or uuid:

与所有虚拟机关联的项目的名称或 UUID。此参数必须与type参数一起使用。

字符串

platform:
  nutanix:
    defaultMachinePlatform:
      bootType:

所有机器的引导类型。在 OpenShift Container Platform 4.17 中,必须使用Legacy引导类型。有关引导类型的更多信息,请参阅了解虚拟化环境中的 UEFI、安全启动和 TPM

LegacySecureBootUEFI。默认值为Legacy

platform:
  nutanix:
    apiVIP:

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

IP 地址

platform:
  nutanix:
    failureDomains:
    - name:
      prismElement:
        name:
        uuid:
      subnetUUIDs:
      -

默认情况下,安装程序会将集群机器安装到单个 Prism Element 实例。您可以指定其他 Prism Element 实例以实现容错,然后将其应用于

  • 集群的默认机器配置

  • 仅控制平面或计算机器池

已配置的故障域列表。

有关用法的更多信息,请参阅“在 Nutanix 上安装集群”中的“配置故障域”。

platform:
  nutanix:
    ingressVIP:

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

IP 地址

platform:
  nutanix:
    prismCentral:
      endpoint:
        address:

Prism Central 域名或 IP 地址。

字符串

platform:
  nutanix:
    prismCentral:
      endpoint:
        port:

用于登录 Prism Central 的端口。

字符串

platform:
  nutanix:
    prismCentral:
      password:

Prism Central 用户名的密码。

字符串

platform:
  nutanix:
    prismCentral:
      username:

用于登录 Prism Central 的用户名。

字符串

platform:
  nutanix:
    prismElements:
      endpoint:
        address:

Prism Element 域名或 IP 地址。[1]

字符串

platform:
  nutanix:
    prismElements:
      endpoint:
        port:

用于登录 Prism Element 的端口。

字符串

platform:
  nutanix:
    prismElements:
      uuid:

Prism Element 的通用唯一标识符 (UUID)。

字符串

platform:
  nutanix:
    subnetUUIDs:

包含您已配置的虚拟 IP 地址和 DNS 记录的 Prism Element 网络的 UUID。[2]

字符串

platform:
  nutanix:
    clusterOSImage:

可选:默认情况下,安装程序会下载并安装 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像。如果 Prism Central 没有互联网访问权限,您可以通过将 RHCOS 镜像托管在任何 HTTP 服务器上并将安装程序指向该镜像来覆盖默认行为。

一个 HTTP 或 HTTPS URL,可以选择添加 SHA-256 校验和。例如,http://example.com/images/rhcos-47.83.202103221318-0-nutanix.x86_64.qcow2

  1. prismElements部分包含 Prism Element(集群)列表。Prism Element 包含所有用于托管 OpenShift Container Platform 集群的 Nutanix 资源,例如虚拟机和子网。

  2. OpenShift Container Platform 集群中每个 Prism Element 只支持一个子网。