15.8. 创建安装配置文件


您可以自定义在 Amazon Web Services (AWS) 上安装的 OpenShift Container Platform 集群。

先决条件

  • 您有 OpenShift Container Platform 安装程序和集群的 pull secret。

流程

  1. 创建 install-config.yaml 文件。

    1. 进入包含安装程序的目录并运行以下命令:

      $ ./openshift-install create install-config --dir <installation_directory> 
      1
      Copy to Clipboard Toggle word wrap
      1
      对于 <installation_directory>,请指定要存储安装程序创建的文件的目录名称。

      在指定目录时:

      • 验证该目录是否具有执行权限。在安装目录中运行 Terraform 二进制文件需要这个权限。
      • 使用空目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。

        注意

        始终删除 ~/.powervs 目录,以避免重复使用过时的配置。运行以下命令:

        $ rm -rf ~/.powervs
        Copy to Clipboard Toggle word wrap
    2. 在提示符处,提供云的配置详情:

      1. 可选: 选择用于访问集群机器的 SSH 密钥。

        注意

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

      2. 选择 AWS 作为目标平台。
      3. 如果计算机上没有保存 Amazon Web Services (AWS) 配置集,请为您配置用于运行安装程序的用户输入 AWS 访问密钥 ID 和 Secret 访问密钥。
      4. 选择要将集群部署到的 AWS 区域。
      5. 选择您为集群配置的 Route 53 服务的基域。
      6. 为集群输入描述性名称。
  2. 修改 install-config.yaml 文件。AWS Outposts 安装有以下限制,需要手动修改 install-config.yaml 文件:

    • 与提供接近规模的 AWS 区域不同,AWS Outposts 被其置备的容量、EC2 系列和生成、配置的实例大小以及尚未被其他工作负载消耗的计算容量的限制。因此,在创建新的 OpenShift Container Platform 集群时,您需要在配置文件的 compute.platform.aws.type 部分中提供支持的实例类型。
    • 当使用在 AWS Outposts 中运行的远程 worker 部署 OpenShift Container Platform 集群时,只有一个可用区可用于计算实例 - 创建 Outpost 实例的可用区。因此,在创建新的 OpenShift Container Platform 集群时,建议您在配置文件中的 compute.platform.aws.zones 部分中提供相关的可用区,以便将计算实例限制到此可用区。
    • AWS Outposts 服务不支持 Amazon Elastic Block Store (EBS) gp3 卷。此卷类型是 OpenShift Container Platform 集群使用的默认类型。因此,在创建新的 OpenShift Container Platform 集群时,必须将 compute.platform.aws.rootVolume.type 部分中的卷类型改为 gp2。您将找到有关如何更改这些值的更多信息。
  3. 备份 install-config.yaml 文件,以便您可以使用它安装多个集群。

    重要

    install-config.yaml 文件会在安装过程中消耗掉。如果要重复使用此文件,必须现在备份。

15.8.1. AWS 的自定义 install-config.yaml 文件示例

您可以自定义安装配置文件 (install-config.yaml),以指定有关 OpenShift Container Platform 集群平台的更多详细信息,或修改所需参数的值。

重要

此示例 YAML 文件仅供参考。您必须使用安装程序来获取 install-config.yaml 文件,并进行修改。

apiVersion: v1
baseDomain: example.com 
1

credentialsMode: Mint 
2

controlPlane: 
3
 
4

  hyperthreading: Enabled 
5

  name: master
  platform: {}
  replicas: 3
compute: 
6

- hyperthreading: Enabled 
7

  name: worker
  platform:
    aws:
      type: m5.large 
8

      zones:
        - us-east-1a 
9

      rootVolume:
        type: gp2 
10

        size: 120
  replicas: 3
metadata:
  name: test-cluster 
11

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
  networkType: OVNKubernetes 
12

  serviceNetwork:
  - 172.30.0.0/16
platform:
  aws:
    region: us-west-2 
13

    propagateUserTags: true 
14

    userTags:
      adminContact: jdoe
      costCenter: 7536
  subnets: 
15

  - subnet-1
  - subnet-2
  - subnet-3
sshKey: ssh-ed25519 AAAA... 
16

pullSecret: '{"auths": ...}' 
17
Copy to Clipboard Toggle word wrap
1 11 13 17
必需。安装程序会提示您输入这个值。
2
可选:添加此参数来强制 Cloud Credential Operator (CCO) 使用指定的模式。默认情况下,CCO 使用 kube-system 命名空间中的 root 凭证来动态尝试决定凭证的功能。有关 CCO 模式的详情,请参阅身份验证和授权指南中的"About the Cloud Credential Operator"部分。
3 6 14
如果没有提供这些参数和值,安装程序会提供默认值。
4
controlPlane 部分是一个单个映射,但 compute 部分是一系列映射。为满足不同数据结构的要求,compute 部分的第一行必须以连字符 - 开头,controlPlane 部分 的第一行则不以连字符开头。仅使用一个 control plane 池。
5 7
是否要启用或禁用并发多线程或 超线程。默认情况下,启用并发多线程以提高机器内核的性能。您可以通过将 参数值设置为 Disabled 来禁用它。如果在某些集群机器中禁用并发多线程,则必须在所有集群机器中禁用它。
重要

如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。如果您对机器禁用并发多线程,请使用较大的实例类型,如 m4.2xlargem5.2xlarge

8
对于在 AWS Outpost 实例中运行的计算实例,在 AWS Outpost 实例中指定受支持的实例类型。
9
对于在 AWS Outpost 实例中运行的计算实例,请指定 Outpost 实例所在的可用区。
10
对于在 AWS Outpost 实例中运行的计算实例,请指定卷类型 gp2,以避免使用不支持的 gp3 卷类型。
12
要安装的集群网络插件。支持的值有 OVNKubernetesOpenShiftSDN。默认值为 OVNKubernetes
15
如果您提供自己的 VPC,为集群使用的每个可用区指定子网。
16
您可选择提供用于访问集群中机器的 sshKey 值。
注意

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

15.8.2. 将现有 AWS 安全组应用到集群

将现有 AWS 安全组应用到 control plane 和计算机器可帮助您满足机构的安全需求,在这种情况下,您需要控制这些机器的传入或传出流量。

先决条件

  • 您已在 AWS 中创建安全组。如需更多信息,请参阅使用 安全组的 AWS 文档。
  • 安全组必须与您要将集群部署到的现有 VPC 关联。安全组不能与另一个 VPC 关联。
  • 您有一个现有的 install-config.yaml 文件。

流程

  1. install-config.yaml 文件中,编辑 compute.platform.aws.additionalSecurityGroupIDs 参数,为您的计算机器指定一个或多个自定义安全组。
  2. 编辑 controlPlane.platform.aws.additionalSecurityGroupIDs 参数,为您的 control plane 机器指定一个或多个自定义安全组。
  3. 保存文件并在部署集群时引用。

指定自定义安全组的 install-config.yaml 文件示例

# ...
compute:
- hyperthreading: Enabled
  name: worker
  platform:
    aws:
      additionalSecurityGroupIDs:
        - sg-1 
1

        - sg-2
  replicas: 3
controlPlane:
  hyperthreading: Enabled
  name: master
  platform:
    aws:
      additionalSecurityGroupIDs:
        - sg-3
        - sg-4
  replicas: 3
platform:
  aws:
    region: us-east-1
    subnets: 
2

      - subnet-1
      - subnet-2
      - subnet-3
Copy to Clipboard Toggle word wrap

1
在 Amazon EC2 控制台中显示时指定安全组的名称,包括 sg 前缀。
2
指定集群使用的每个可用区的子网。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat