4.6. 创建安装配置文件


您可以自定义 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>,请指定要存储安装程序创建的文件的目录名称。

      在指定目录时:

      • 使用空目录。有些安装资产,如 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. 选择 powervs 作为目标平台。
      3. 选择要将集群部署到的区域。
      4. 选择要将集群部署到的区域。
      5. 选择集群要部署到的基域。基域与您为集群创建的公共 DNS 区对应。
      6. 为集群输入描述性名称。
  2. 修改 install-config.yaml 文件。您可以在"安装配置参数"部分找到有关可用参数的更多信息。
  3. 备份 install-config.yaml 文件,以便您可以使用它安装多个集群。

    重要

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

您可以自定义 install-config.yaml 文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。

重要

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

apiVersion: v1
baseDomain: example.com
compute: 
1
 
2

- architecture: ppc64le
  hyperthreading: Enabled 
3

  name: worker
  platform:
    powervs:
      smtLevel: 8 
4

  replicas: 3
controlPlane: 
5
 
6

  architecture: ppc64le
  hyperthreading: Enabled 
7

  name: master
  platform:
    powervs:
      smtLevel: 8 
8

  replicas: 3
metadata:
  creationTimestamp: null
  name: example-cluster-name
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 192.168.0.0/24
  networkType: OVNKubernetes 
9

  serviceNetwork:
  - 172.30.0.0/16
platform:
  powervs:
    userID: ibm-user-id
    region: powervs-region
    zone: powervs-zone
    powervsResourceGroup: "ibmcloud-resource-group" 
10

    serviceInstanceGUID: "powervs-region-service-instance-guid"
    vpcRegion : vpc-region
publish: External
pullSecret: '{"auths": ...}' 
11

sshKey: ssh-ed25519 AAAA... 
12
Copy to Clipboard Toggle word wrap
1 5
如果没有提供这些参数和值,安装程序会提供默认值。
2 6
controlPlane 部分是一个单个映射,但 compute 部分是一系列映射。为满足不同数据结构的要求,compute 部分的第一行必须以连字符 - 开头,controlPlane 部分 的第一行则不以连字符开头。虽然这两个部分目前都定义了单个机器池,但 OpenShift Container Platform 可能会在安装过程中支持多个计算池。仅使用一个 control plane 池。
3 7
是否要启用或禁用并发多线程或 超线程。默认情况下,启用并发多线程以提高机器内核的性能。您可以通过将 参数值设置为 Disabled 来禁用它。如果在某些集群机器中禁用并发多线程,则必须在所有集群机器中禁用它。
重要

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

4 8
smtLevel 指定要设置为 control plane 和计算机器的 SMT 级别。支持的值有 1、2、4、8、'off''on'。默认值为 8。smtLevel 'off' 将 SMT 设置为 off,smtlevel 'on' 将 SMT 设置为集群节点上的默认值 8。
注意

如果没有启用并发多线程(SMT)或超线程,一个 vCPU 相当于一个物理内核。启用后,总 vCPU 被计算为:(Thread (s) per core * Core (s) per socket)* Socket (s))。smtLevel 控制每个内核的线程。在部署集群节点时,较低 SMT 级别可能需要额外分配的内核。您可以将 install-config.yaml 文件中的 'processors' 参数设置为适当的值,以满足成功部署 OpenShift Container Platform 的要求。

9
要安装的集群网络插件。默认值 OVNKubernetes 是唯一支持的值。
10
现有资源组的名称。
11
必需。安装程序会提示您输入这个值。
注意

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

4.6.2. 在安装过程中配置集群范围的代理

生产环境可能会拒绝直接访问互联网,而是提供 HTTP 或 HTTPS 代理。您可以通过在 install-config.yaml 文件中配置代理设置,将新的 OpenShift Container Platform 集群配置为使用代理。

先决条件

  • 您有一个现有的 install-config.yaml 文件。
  • 您检查了集群需要访问的站点,并确定它们中的任何站点是否需要绕过代理。默认情况下,所有集群出口流量都经过代理,包括对托管云供应商 API 的调用。如果需要,您将在 Proxy 对象的 spec.noProxy 字段中添加站点来绕过代理。

    注意

    Proxy 对象 status.noProxy 字段使用安装配置中的 networking.machineNetwork[].cidrnetworking.clusterNetwork[].cidrnetworking.serviceNetwork[] 字段的值填充。

    对于在 Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure 和 Red Hat OpenStack Platform(RHOSP)上安装,Proxy 对象 status.noProxy 字段也会使用实例元数据端点填充(169.254.169.254)。

流程

  1. 编辑 install-config.yaml 文件并添加代理设置。例如:

    apiVersion: v1
    baseDomain: my.domain.com
    proxy:
      httpProxy: http://<username>:<pswd>@<ip>:<port> 
    1
    
      httpsProxy: https://<username>:<pswd>@<ip>:<port> 
    2
    
      noProxy: example.com 
    3
    
    additionalTrustBundle: | 
    4
    
        -----BEGIN CERTIFICATE-----
        <MY_TRUSTED_CA_CERT>
        -----END CERTIFICATE-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 
    5
    Copy to Clipboard Toggle word wrap
    1
    用于创建集群外 HTTP 连接的代理 URL。URL 方案必须是 http
    2
    用于创建集群外 HTTPS 连接的代理 URL。
    3
    要从代理中排除的目标域名、IP 地址或其他网络 CIDR 的逗号分隔列表。在域前面加上 . 以仅匹配子域。例如,.y.com 匹配 x.y.com,但不匹配 y.com。使用 * 绕过所有目的地的代理。
    4
    如果提供,安装程序会在 openshift-config 命名空间中生成名为 user-ca-bundle 的配置映射,其包含代理 HTTPS 连接所需的一个或多个额外 CA 证书。然后,Cluster Network Operator 会创建 trusted-ca-bundle 配置映射,将这些内容与 Red Hat Enterprise Linux CoreOS(RHCOS)信任捆绑包合并, Proxy 对象的 trustedCA 字段中也会引用此配置映射。additionalTrustBundle 字段是必需的,除非代理的身份证书由来自 RHCOS 信任捆绑包的颁发机构签名。
    5
    可选:决定 Proxy 对象的配置以引用 trustedCA 字段中 user-ca-bundle 配置映射的策略。允许的值是 ProxyonlyAlways。仅在配置了 http/https 代理时,使用 Proxyonly 引用 user-ca-bundle 配置映射。使用 Always 始终引用 user-ca-bundle 配置映射。默认值为 Proxyonly
    注意

    安装程序不支持代理的 readinessEndpoints 字段。

    注意

    如果安装程序超时,重启并使用安装程序的 wait-for 命令完成部署。例如:

    $ ./openshift-install wait-for install-complete --log-level debug
    Copy to Clipboard Toggle word wrap
  2. 保存该文件并在安装 OpenShift Container Platform 时引用。

安装程序会创建一个名为 cluster 的集群范围代理,该代理 使用 提供的 install-config.yaml 文件中的代理设置。如果没有提供代理设置,仍然会创建一个 cluster Proxy 对象,但它会有一个空 spec

注意

只支持名为 clusterProxy 对象,且无法创建额外的代理。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat