4.7. AWS 的安装配置参数


在 AWS 上部署 OpenShift Container Platform 集群前,您可以提供参数来自定义集群和托管它的平台。在创建 install-config.yaml 文件时,您可以通过命令行为所需参数提供值。然后,您可以修改 install-config.yaml 文件以进一步自定义集群。

4.7.1. AWS 可用的安装配置参数

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

注意

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

4.7.1.1. 所需的配置参数

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

表 4.27. 所需的参数
参数描述
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:

对于特定平台的配置取决于执行安装的环境: aws, baremetal, azure, gcp, ibmcloud, nutanix, openstack, powervs, vsphere, 或 {}.有关 platform.<platform> 参数的更多信息,请参考下表中您的特定平台。

对象

pullSecret:

从 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"
      }
   }
}

4.7.1.2. 网络配置参数

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

仅支持 IPv4 地址。

注意

Red Hat OpenShift Data Foundation 灾难恢复解决方案不支持 Globalnet。对于区域灾难恢复场景,请确保为每个集群中的集群和服务网络使用非重叠的专用 IP 地址。

表 4.28. 网络参数
参数描述
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 块的前缀长度介于 0 到 32 之间

networking:
  clusterNetwork:
    hostPrefix:

分配给每个节点的子网前缀长度。例如,如果 hostPrefix 设为 23,则每个节点从 given cidr 中分配 a /23 子网。hostPrefix23 提供 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 匹配。

4.7.1.3. 可选的配置参数

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

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

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

字符串

capabilities:

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

字符串数组

capabilities:
  baselineCapabilitySet:

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

字符串

capabilities:
  additionalEnabledCapabilities:

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

字符串数组

cpuPartitioningMode:

启用工作负载分区,它会隔离 OpenShift Container Platform 服务、集群管理工作负载和基础架构 pod,以便在保留的一组 CPU 上运行。工作负载分区只能在安装过程中启用,且在安装后无法禁用。虽然此字段启用工作负载分区,但它不会将工作负载配置为使用特定的 CPU。如需更多信息,请参阅 Scalability and Performance 部分中的 Workload partitioning 页面。

NoneAllNodes.None 是默认值。

compute:

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

MachinePool 对象的数组。

compute:
  architecture:

决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 amd64arm64。并非所有安装选项都支持 64 位 ARM 架构。要验证您的平台上是否支持您的安装选项,请参阅 选择集群安装方法并为用户准备它中的不同平台支持的安装方法

字符串

compute:
  hyperthreading:

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

重要

如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。

enabledDisabled

compute:
  name:

使用 compute 时需要此项。机器池的名称。

worker

compute:
  platform:

使用 compute 时需要此项。使用此参数指定托管 worker 机器的云供应商。此参数值必须与 controlPlane.platform 参数值匹配。

aws, azure, gcp, ibmcloud, nutanix, openstack, powervs, vsphere, 或 {}

compute:
  replicas:

要置备的计算机器数量,也称为 worker 机器。

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

featureSet:

为功能集启用集群。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。有关在安装过程中启用功能集的更多信息,请参阅"使用功能门启用功能"。

字符串.要启用的功能集的名称,如 TechPreviewNoUpgrade

controlPlane:

组成 control plane 的机器的配置。

MachinePool 对象的数组。

controlPlane:
  architecture:

决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 amd64arm64。并非所有安装选项都支持 64 位 ARM 架构。要验证您的平台上是否支持您的安装选项,请参阅 选择集群安装方法并为用户准备它中的不同平台支持的安装方法

字符串

controlPlane:
  hyperthreading:

是否在 control plane 机器上启用或禁用并发多 线程或超线程。默认情况下,启用并发多线程以提高机器内核的性能。

重要

如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。

enabledDisabled

controlPlane:
  name:

使用 controlPlane 时需要此项。机器池的名称。

master

controlPlane:
  platform:

使用 controlPlane 时需要此项。使用此参数指定托管 control plane 机器的云供应商。此参数值必须与 compute.platform 参数值匹配。

aws, azure, gcp, ibmcloud, nutanix, openstack, powervs, vsphere, 或 {}

controlPlane:
  replicas:

要置备的 control plane 机器数量。

部署单节点 OpenShift 时支持的值为 31

credentialsMode:

Cloud Credential Operator(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 核心组件使用 RHEL 加密库,在 x86_64、ppc64le 和 s390x 架构上提交到 NIST FIPS 140-2/140-3 Validation。

注意

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

falsetrue

imageContentSources:

release-image 内容的源和存储库。

对象数组。包括一个 source 以及可选的 mirrors,如本表的以下行所述。

imageContentSources:
  source:

使用 imageContentSources 时需要此项。指定用户在镜像拉取规格中引用的存储库。

字符串

imageContentSources:
  mirrors:

指定可能还包含同一镜像的一个或多个仓库。

字符串数组

platform:
  aws:
    lbType:

在 AWS 中设置 NLB 负载均衡器类型需要此项。有效值为 ClassicNLB。如果没有指定值,安装程序将默认为 Classic。安装程序设置 ingress 集群配置对象中提供的值。如果您没有为其他 Ingress Controller 指定负载均衡器类型,它们将使用此参数中设置的类型。

ClassicNLB.默认值为 Classic

publish:

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

内部或外部 .要部署无法从互联网访问的私有集群,请将 publish 设置为 Internal。默认值为 External

sshKey:

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

注意

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

例如,sshKey: ssh-ed25519 AAAA..

+

注意

如果您的 AWS 帐户启用了服务控制策略 (SCP),必须将 credentialsMode 参数配置为 MintPassthroughManual

+

重要

将此参数设置为 Manual 可启用在 kube-system 项目中存储管理员级别的 secret 的替代方案,这需要额外的配置步骤。如需更多信息,请参阅"在 kube-system 项目中存储管理员级别的 secret"。

4.7.1.4. 可选的 AWS 配置参数

下表描述了可选的 AWS 配置参数:

表 4.30. 可选的 AWS 参数
参数描述
compute:
  platform:
    aws:
      amiID:

用于为集群引导计算机器的 AWS AMI。对于需要自定义 RHCOS AMI 的区域来说,这是必需的。

属于集合 AWS 区域的任何已发布或自定义 RHCOS AMI。如需可用的 AMI ID,请参阅 RHCOS AMIs for AWS infrastructure

compute:
  platform:
    aws:
      iamRole:

一个已存在的 AWS IAM 角色应用到计算机器池实例配置集。您可以使用这些字段与命名方案匹配,并为您的 IAM 角色包含预定义的权限界限。如果未定义,安装程序会创建一个新的 IAM 角色。

有效 AWS IAM 角色的名称。

compute:
  platform:
    aws:
      rootVolume:
        iops:

为根卷保留的每秒输入/输出操作 (IOPS) 数。

整数,如 4000

compute:
  platform:
    aws:
      rootVolume:
        size:

以 GiB 为单位的根卷大小。

整数,如 500

compute:
  platform:
    aws:
      rootVolume:
        type:

根卷的类型。

有效的 AWS EBS 卷类型,如 io1

compute:
  platform:
    aws:
      rootVolume:
        kmsKeyARN:

KMS 密钥的 Amazon 资源名称(密钥 ARN)。这需要使用特定的 KMS 密钥加密 worker 节点的操作系统卷。

有效的 密钥 ID 或密钥 ARN

compute:
  platform:
    aws:
      type:

计算机器的 EC2 实例类型。

有效的 AWS 实例类型,如 m4.2xlarge。请参阅以下 支持的 AWS 机器类型 表。

compute:
  platform:
    aws:
      zones:

安装程序在其中为计算机机器池创建机器的可用区。如果您提供自己的 VPC,则必须在那个可用域中提供一个子网。

有效 AWS 可用区的列表,如 us-east-1c,以 YAML 序列表示。

compute:
  aws:
    region:

安装程序在其中创建计算资源的 AWS 区域。

任何有效的 AWS 区域,如 us-east-1。您可以使用 AWS CLI 访问您选择的实例类型可用的区域。例如:

aws ec2 describe-instance-type-offerings --filters Name=instance-type,Values=c7g.xlarge
重要

在基于 ARM 的 AWS 实例上运行时,请确保进入 AWS Graviton 处理器可用的区域。请参阅 AWS 文档中的全局可用性 映射。目前,只有一些区域才提供 AWS Graviton3 处理器。

controlPlane:
  platform:
    aws:
      amiID:

用于为集群引导 control plane 机器的 AWS AMI。对于需要自定义 RHCOS AMI 的区域来说,这是必需的。

属于集合 AWS 区域的任何已发布或自定义 RHCOS AMI。如需可用的 AMI ID,请参阅 RHCOS AMIs for AWS infrastructure

controlPlane:
  platform:
    aws:
      iamRole:

应用到 control plane 机器池实例配置集的已存在的 AWS IAM 角色。您可以使用这些字段与命名方案匹配,并为您的 IAM 角色包含预定义的权限界限。如果未定义,安装程序会创建一个新的 IAM 角色。

有效 AWS IAM 角色的名称。

controlPlane:
  platform:
    aws:
      rootVolume:
        iops:

为 control plane 机器上的根卷保留的每秒输入/输出操作 (IOPS)。

整数,如 4000

controlPlane:
  platform:
    aws:
      rootVolume:
        size:

control plane 机器的根卷大小(以 GiB 为单位)。

整数,如 500

controlPlane:
  platform:
    aws:
      rootVolume:
        type:

control plane 机器的根卷的类型。

有效的 AWS EBS 卷类型,如 io1

controlPlane:
  platform:
    aws:
      rootVolume:
        kmsKeyARN:

KMS 密钥的 Amazon 资源名称(密钥 ARN)。这需要使用特定的 KMS 密钥加密 control plane 节点的操作系统卷。

有效的密钥 ID 和密钥 ARN

controlPlane:
  platform:
    aws:
      type:

control plane 机器的 EC2 实例类型。

有效的 AWS 实例类型,如 m6i.xlarge。请参阅以下 支持的 AWS 机器类型 表。

controlPlane:
  platform:
    aws:
      zones:

安装程序在其中为 control plane 机器池创建机器的可用区。

有效 AWS 可用区的列表,如 us-east-1c,以 YAML 序列表示。

controlPlane:
  aws:
    region:

安装程序在其中创建 control plane 资源的 AWS 区域。

有效的 AWS 区域,如 us-east-1

platform:
  aws:
    amiID:

用于为集群引导所有机器的 AWS AMI。如果设置,AMI 必须属于与集群相同的区域。对于需要自定义 RHCOS AMI 的区域来说,这是必需的。

属于集合 AWS 区域的任何已发布或自定义 RHCOS AMI。如需可用的 AMI ID,请参阅 RHCOS AMIs for AWS infrastructure

platform:
  aws:
    hostedZone:

集群的现有 Route 53 私有托管区。您只能在提供自己的 VPC 时使用已存在的托管区。安装前,托管区必须已经与用户提供的 VPC 关联。另外,托管区的域必须是集群域或集群域的父域。如果未定义,安装程序会创建一个新的托管区。

字符串,如 Z3URY6TWQ91KVV

platform:
  aws:
    hostedZoneRole:

在包含指定托管区的帐户中现有 IAM 角色的 Amazon 资源名称(ARN)。在托管区上执行操作时,安装程序和集群操作器会假定此角色。只有在您将集群安装到共享 VPC 中时,才应使用此参数。

字符串,如 arn:aws:iam::1234567890:role/shared-vpc-role

platform:
  aws:
    serviceEndpoints:
      - name:
        url:

AWS 服务端点名称和 URL。只有在必须使用替代 AWS 端点(如 FIPS)时,才需要自定义端点。可以为 EC2、S3、IAM、Elastic Load Balancing、Tagging、Route 53 和 STS AWS 服务指定自定义 API 端点。

有效的 AWS 服务端点 名称和有效的 AWS 服务端点 URL。

platform:
  aws:
    userTags:

键与值的映射,安装程序将其作为标签添加到它所创建的所有资源。

任何有效的 YAML 映射,如 <key>: <value> 格式的键值对。如需有关 AWS 标签的更多信息,请参阅 AWS 文档中的标记您的 Amazon EC2 资源

注意

您可以在安装过程中最多添加 25 个用户定义的标签。剩余的 25 个标签是为 OpenShift Container Platform 保留的。

platform:
  aws:
    propagateUserTags:

指示集群 Operator 中的标记,在 Operator 创建的 AWS 资源标签中包含指定的用户标签。

布尔值,如 truefalse

platform:
  aws:
    subnets:

如果您提供 VPC,而不是让安装程序为您创建 VPC,请指定要使用的集群子网。子网必须是您指定的同一 machineNetwork[].cidr 范围的一部分。

对于标准集群,为每个可用区指定一个公共和私有子网。

对于私有集群,为每个可用区指定一个私有子网。

对于使用 AWS Local Zones 的集群,您必须将 AWS Local Zone 子网添加到此列表中,以确保创建边缘机器池。

有效的子网 ID。

platform:
  aws:
    publicIpv4Pool:

publish 被设置为 External 时,用于分配 Elastic IP (EIPs) 的公共 IPv4 池 ID。您必须在集群的同一 AWS 帐户和区域中置备并公告池。您必须确保池中有 2n + 1 个 IPv4 可用,其中 n 是用于部署 API、NAT 网关和 bootstrap 节点的 Network Load Balancer (NLB) 的 AWS 区域总数。有关在 AWS 中包含您自己的 IP 地址 (BYOIP) 的更多信息,请参阅 BYOIP

有效的 公共 IPv4 池 id

注意

BYOIP 只能为没有网络限制的自定义安装启用。

platform:
  aws:
    preserveBootstrapIgnition:

防止在完成 bootstrap 后删除 S3 存储桶。

truefalse。默认值为 false,这会导致 S3 存储桶被删除。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.