×

在 Azure Stack Hub 上部署 OpenShift Container Platform 集群之前,您需要提供一个自定义的 install-config.yaml 安装配置文件,其中描述了您环境的详细信息。

Azure Stack Hub 可用的安装配置参数

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

安装后,您无法修改 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 集群管理器的拉取密钥,以验证从 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

一个以 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。默认值为External

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

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

sshKey:

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

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

例如,sshKey: ssh-ed25519 AAAA..

其他 Azure Stack Hub 配置参数

下表描述了其他 Azure 配置参数。

表 4. 其他 Azure Stack Hub 参数
参数 描述
compute:
  platform:
    azure:
      osDisk:
        diskSizeGB:

虚拟机的 Azure 磁盘大小。

表示磁盘大小(以 GB 为单位)的整数。默认值为128

compute:
  platform:
    azure:
      osDisk:
        diskType:

定义磁盘类型。

standard_LRSpremium_LRS。默认值为premium_LRS

compute:
  platform:
    azure:
      type:

定义计算机的 Azure 实例类型。

字符串

controlPlane:
  platform:
    azure:
      osDisk:
        diskSizeGB:

虚拟机的 Azure 磁盘大小。

表示磁盘大小(以 GB 为单位)的整数。默认值为1024

controlPlane:
  platform:
    azure:
      osDisk:
        diskType:

定义磁盘类型。

premium_LRS.

controlPlane:
  platform:
    azure:
      type:

定义控制平面机器的 Azure 实例类型。

字符串

platform:
  azure:
    defaultMachinePlatform:
      osDisk:
        diskSizeGB:

虚拟机的 Azure 磁盘大小。

表示磁盘大小(以 GB 为单位)的整数。默认值为128

platform:
  azure:
    defaultMachinePlatform:
      osDisk:
        diskType:

定义磁盘类型。

standard_LRSpremium_LRS。默认值为premium_LRS

platform:
  azure:
    defaultMachinePlatform:
      type:

控制平面和计算机的 Azure 实例类型。

Azure 实例类型。

platform:
  azure:
    armEndpoint:

Azure Stack Hub 运营商提供的 Azure 资源管理器端点的 URL。

字符串

platform:
  azure:
    baseDomainResourceGroupName:

包含您的基础域的 DNS 区域的资源组的名称。

字符串,例如production_cluster

platform:
  azure:
    region:

您的 Azure Stack Hub 本地区域的名称。

字符串

platform:
  azure:
    resourceGroupName:

要将集群安装到的已存在资源组的名称。此资源组必须为空,并且仅用于此特定集群;集群组件将承担该资源组中所有资源的所有权。如果您将安装程序的服务主体范围限制为此资源组,则必须确保环境中安装程序使用的所有其他资源都具有必要的权限,例如公共 DNS 区域和虚拟网络。使用安装程序销毁集群将删除此资源组。

字符串,例如existing_resource_group

platform:
  azure:
    outboundType:

用于将集群连接到互联网的出站路由策略。如果您使用用户定义的路由,则必须预先存在已配置出站路由的网络,然后才能安装集群。安装程序不负责配置用户定义的路由。

LoadBalancerUserDefinedRouting。默认值为LoadBalancer

platform:
  azure:
    cloudName:

用于使用适当的 Azure API 端点配置 Azure SDK 的 Azure 云环境的名称。

AzureStackCloud

clusterOSImage:

Azure Stack 环境中存储 Blob 的 URL,其中包含 RHCOS VHD。

字符串,例如,https://vhdsa.blob.example.example.com/vhd/rhcos-410.84.202112040202-0-azurestack.x86_64.vhd