第 7 章 AWS 的安装配置参数


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

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

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

注意

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

7.1.1. 所需的配置参数

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

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

对于特定平台的配置取决于执行安装的环境: 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"
      }
   }
}

7.1.2. 网络配置参数

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

仅支持 IPv4 地址。

注意

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

表 7.2. 网络参数
参数描述
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 匹配。

7.1.3. 可选的配置参数

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

表 7.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。如需更多信息,请参阅 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"。

7.1.4. 可选的 AWS 配置参数

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

表 7.4. 可选的 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.