×

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

IBM Cloud可用的安装配置参数

下表指定了作为安装过程的一部分可以设置的必需、可选和IBM Cloud特定的安装配置参数。

安装后,您无法修改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 secret以验证从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网络网络插件。

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。如果您将集群部署到现有的虚拟私有云 (VPC),则CIDR必须包含platform.ibmcloud.controlPlaneSubnetsplatform.ibmcloud.computeSubnets中定义的子网。

CIDR表示法的IP网络块。

例如,10.0.0.0/16

设置networking.machineNetwork以匹配首选网卡所在的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。要部署无法从互联网访问的私有集群,请将publish设置为Internal。默认值为External

sshKey:

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

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

例如,sshKey: ssh-ed25519 AAAA..

其他 IBM Cloud 配置参数

下表描述了其他 IBM Cloud® 配置参数。

表 4. 其他 IBM Cloud® 参数
参数 描述
controlPlane:
  platform:
    ibmcloud:
      bootVolume:
        encryptionKey:

用于加密仅控制平面机器的根(引导)卷的 IBM® Key Protect for IBM Cloud® (Key Protect) 根密钥。

根密钥的云资源名称 (CRN)。

CRN 必须用引号 ("" )括起来。

compute:
  platform:
    ibmcloud:
      bootVolume:
        encryptionKey:

用于加密仅计算机器的根(引导)卷的 Key Protect 根密钥。

根密钥的 CRN。

CRN 必须用引号 ("" )括起来。

platform:
  ibmcloud:
    defaultMachinePlatform:
      bootvolume:
        encryptionKey:

用于加密集群所有机器的根(引导)卷的 Key Protect 根密钥。

当指定为默认机器配置的一部分时,所有托管存储类都将使用此密钥进行更新。因此,安装后配置的数据卷也使用此密钥进行加密。

根密钥的 CRN。

CRN 必须用引号 ("" )括起来。

platform:
  ibmcloud:
    resourceGroupName:

现有资源组的名称。默认情况下,安装程序提供的 VPC 和集群资源将放置在此资源组中。如果未指定,安装程序将为集群创建资源组。如果您将集群部署到现有 VPC,则安装程序提供的集群资源将放置在此资源组中。如果未指定,安装程序将为集群创建资源组。您已配置的 VPC 资源必须存在于您使用networkResourceGroupName参数指定的资源组中。无论哪种情况,此资源组都只能用于单个集群安装,因为集群组件会承担该资源组中所有资源的所有权。[1]

字符串,例如existing_resource_group

platform:
  ibmcloud:
    serviceEndpoints:
      - name:
        url:

服务端点名称和 URI 的列表。

默认情况下,安装程序和集群组件使用公共服务端点来访问所需的 IBM Cloud® 服务。

如果网络限制限制了对公共服务端点的访问,您可以指定备用服务端点以覆盖默认行为。

您只能为以下每个服务指定一个备用服务端点:

  • 云对象存储

  • DNS 服务

  • 全局搜索

  • 全局标记

  • 身份服务

  • Key Protect

  • 资源控制器

  • 资源管理器

  • VPC

有效的服务端点名称和完全限定的 URI。

有效名称包括:

  • COS

  • DNSServices

  • GlobalServices

  • GlobalTagging

  • IAM

  • KeyProtect

  • ResourceController

  • ResourceManager

  • VPC

platform:
  ibmcloud:
    networkResourceGroupName:

现有资源组的名称。此资源包含集群将部署到的现有 VPC 和子网。将集群部署到您已配置的 VPC 时,此参数是必需的。

字符串,例如existing_network_resource_group

platform:
  ibmcloud:
    dedicatedHosts:
      profile:

要创建的新专用主机。如果您为platform.ibmcloud.dedicatedHosts.name指定了值,则不需要此参数。

有效的 IBM Cloud® 专用主机配置文件,例如cx2-host-152x304。[2]

platform:
  ibmcloud:
    dedicatedHosts:
      name:

现有专用主机。如果您为platform.ibmcloud.dedicatedHosts.profile指定了值,则不需要此参数。

字符串,例如my-dedicated-host-name

platform:
  ibmcloud:
    type:

所有 IBM Cloud® 机器实例类型。

有效的 IBM Cloud® 实例类型,例如bx2-8x32。[2]

platform:
  ibmcloud:
    vpcName:

您要将集群部署到的现有 VPC 的名称。

字符串。

platform:
  ibmcloud:
    controlPlaneSubnets:

您要将控制平面机器部署到的 VPC 中的现有子网名称。为每个可用区指定一个子网。

字符串数组

platform:
  ibmcloud:
    computeSubnets:

您要将计算机器部署到的 VPC 中的现有子网名称。为每个可用区指定一个子网。不支持子网 ID。

字符串数组

  1. 您定义的是现有资源组还是安装程序创建的资源组,决定了卸载集群时如何处理资源组。如果您定义了资源组,安装程序将删除所有安装程序提供的资源,但保留资源组;如果资源组是在安装过程中创建的,安装程序将删除所有安装程序提供的资源和资源组。

  2. 要确定哪个配置文件最符合您的需求,请参阅 IBM® 文档中的实例配置文件