12.4.13. 创建安装配置文件

您可以自定义在 Google Cloud Platform (GCP) 上安装的 OpenShift Container Platform 集群。Red Hat OpenStack Platform(RHOSP)。

先决条件

  • 获取 OpenShift Container Platform 安装程序以及集群的 pull secret。对于受限网络安装,这些文件位于您的堡垒主机上。
  • 具有创建镜像容器镜像仓库(registry)时生成的 imageContentSources 值。
  • 获取您的镜像 registry 的证书内容。

流程

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

    1. 更改到包含安装程序的目录,再运行以下命令:

      $ ./openshift-install create install-config --dir=<installation_directory> 1
      1
      对于 <installation_directory>,请指定用于保存安装程序所创建的文件的目录名称。
      重要

      指定一个空目录。一些安装信息,如 bootstrap X.509 证书,有较短的过期间隔,因此不要重复使用安装目录。如果要重复使用另一个集群安装中的个别文件,可以将其复制到您的目录中。但是,一些安装数据的文件名可能会在发行版本之间有所改变。从 OpenShift Container Platform 老版本中复制安装文件时要格外小心。

    2. 在提示符处,提供您的云的配置详情:

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

        注意

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

      2. 选择 gcp 作为目标平台。
      3. 如果您没有为计算机上的 GCP 帐户配置服务帐户密钥,则必须从 GCP 获取,并粘贴文件的内容或输入文件的绝对路径。
      4. 选择要在其中置备集群的项目 ID。默认值由您配置的服务帐户指定。
      5. 选择要在其中部署集群的区域。
      6. 选择集群要部署到的基域。基域与您为集群创建的公共 DNS 区对应。
      7. 选择 openstack 作为目标平台。
      8. 指定用于安装集群的 Red Hat OpenStack Platform (RHOSP) 外部网络名称。
      9. 指定用于从外部访问 OpenShift API 的浮动 IP 地址。
      10. 指定至少有 16 GB RAM 用于 control plane 和计算节点的 RHOSP 类别。
      11. 选择集群要部署到的基域。所有 DNS 记录都将是这个基域的子域,并包含集群名称。
      12. 为集群输入一个名称。名称不能多于 14 个字符。
      13. 粘贴从 Red Hat OpenShift Cluster Manager 站点的 Pull Secret 页面中获取的 pull secret。
  2. install-config.yaml 文件中,将 platform.openstack.clusterOSImage 的值设置为镜像位置或名称。例如:

    platform:
      openstack:
          clusterOSImage: http://mirror.example.com/images/rhcos-43.81.201912131630.0-openstack.x86_64.qcow2.gz?sha256=ffebbd68e8a1f2a245ca19522c16c86f67f9ac8e4e0c1f0a812b068b16f7265d
  3. 编辑 install-config.yaml 文件,以提供在受限网络中安装所需的其他信息。

    1. 更新 pullSecret 值,使其包含 registry 的身份验证信息:

      pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'

      对于 <mirror_host_name>,请指定 您在镜像 registry 证书中指定的 registry 域名 ;对于 <credentials>, 请指定您的镜像 registry 的 base64 编码用户名和密码。

    2. 添加 additionalTrustBundle 参数和值。

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
        -----END CERTIFICATE-----

      该值必须是您用于镜像 registry 的证书文件内容,可以是现有的可信证书颁发机构或您为镜像 registry 生成的自签名证书。

    3. 定义在父 platform.gcp 字段中安装集群的 VPC 的网络和子网:

      network: <existing_vpc>
      controlPlaneSubnet: <control_plane_subnet>
      computeSubnet: <compute_subnet>

      对于 platform.gcp.network,指定现有 Google VPC 的名称。对于 platform.gcp.controlPlaneSubnetplatform.gcp.computeSubnet,请分别指定要分别部署 control plane 机器和计算机器的现有子网。

    4. 添加镜像内容资源,如下例所示:

      imageContentSources:
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: quay.example.com/openshift-release-dev/ocp-release
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: registry.example.com/ocp/release

      要完成这些值,请使用您在创建镜像容器镜像仓库(registry)时记录的 imageContentSources

  4. 对需要的 install-config.yaml 文件做任何其他修改。您可以在安装配置参数部分中找到有关可用参数的更多信息。
  5. 备份 install-config.yaml 文件,以便用于安装多个集群。

    重要

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

现在,文件 install-config.yaml 位于您指定的目录中。