6.5. 获取安装程序


在安装 OpenShift Container Platform 前,将安装文件下载到您用于安装的主机上。

先决条件

  • 您有一台运行 Linux 或 macOS 的计算机,至少有 1.2 GB 本地磁盘空间。

流程

  1. 进入 Red Hat Hybrid Cloud Console 上的 Cluster Type 页。如果您有红帽帐户,请使用您的凭证登录。如果没有,请创建一个帐户。
  2. 在页的 Run it yourself 部分中选择您的基础架构供应商。
  3. OpenShift 安装程序下的下拉菜单中选择您的主机操作系统和架构,然后点下载安装程序
  4. 将下载的文件保存在要存储安装配置文件的目录中。

    重要
    • 安装程序会在用来安装集群的计算机上创建几个文件。在完成集群安装后,您必须保留安装程序和安装程序所创建的文件。删除集群需要这两个文件。
    • 删除安装程序创建的文件不会删除您的集群,即使集群在安装过程中失败也是如此。要删除集群,请为特定云供应商完成 OpenShift Container Platform 卸载流程。
  5. 提取安装程序。例如,在使用 Linux 操作系统的计算机上运行以下命令:

    $ tar -xvf openshift-install-linux.tar.gz
    Copy to Clipboard Toggle word wrap
  6. 从 Red Hat OpenShift Cluster Manager 下载安装 pull secret。此 pull secret 允许您与所含授权机构提供的服务进行身份验证,这些服务包括为 OpenShift Container Platform 组件提供容器镜像的 Quay.io。
提示

另外,您还可以从红帽客户门户网站检索安装程序,您可以在其中指定要下载的安装程序版本。但是,您需要有一个有效的订阅才能访问此页。

6.5.1. 创建安装配置文件

您可以自定义在 Alibaba Cloud 上安装的 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. 选择 alibabacloud 作为目标平台。
      3. 选择要将集群部署到的区域。
      4. 选择集群要部署到的基域。基域与您为集群创建的公共 DNS 区对应。
      5. 为集群提供一个描述性名称。
  2. 将集群安装到 Alibaba Cloud 中需要 Cloud Credential Operator(CCO)以手动模式运行。修改 install-config.yaml 文件,将 credentialsMode 参数设置为 Manual

    带有 credentialsMode 被设置为 Manual 的 install-config.yaml 配置文件示例

    apiVersion: v1
    baseDomain: cluster1.example.com
    credentialsMode: Manual 
    1
    
    compute:
    - architecture: amd64
      hyperthreading: Enabled
     ...
    Copy to Clipboard Toggle word wrap

    1
    添加此行,将 credentialsMode 设置为 Manual
  3. 修改 install-config.yaml 文件。您可以在"安装配置参数"部分找到有关可用参数的更多信息。
  4. 备份 install-config.yaml 文件,以便您可以使用它安装多个集群。

    重要

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

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

apiVersion: v1
baseDomain: alicloud-dev.devcluster.openshift.com
credentialsMode: Manual
compute:
- architecture: amd64
  hyperthreading: Enabled
  name: worker
  platform: {}
  replicas: 3
controlPlane:
  architecture: amd64
  hyperthreading: Enabled
  name: master
  platform: {}
  replicas: 3
metadata:
  creationTimestamp: null
  name: test-cluster 
1

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

  serviceNetwork:
  - 172.30.0.0/16
platform:
  alibabacloud:
    defaultMachinePlatform: 
3

      instanceType: ecs.g6.xlarge
      systemDiskCategory: cloud_efficiency
      systemDiskSize: 200
    region: ap-southeast-1 
4

    resourceGroupID: rg-acfnw6j3hyai 
5

    vpcID: vpc-0xifdjerdibmaqvtjob2b 
6

    vswitchIDs: 
7

    - vsw-0xi8ycgwc8wv5rhviwdq5
    - vsw-0xiy6v3z2tedv009b4pz2
publish: External
pullSecret: '{"auths": {"cloud.openshift.com": {"auth": ... }' 
8

sshKey: |
  ssh-rsa AAAA... 
9
Copy to Clipboard Toggle word wrap
1
必需。安装程序会提示您输入集群名称。
2
要安装的集群网络插件。支持的值有 OVNKubernetesOpenShiftSDN。默认值为 OVNKubernetes
3
可选。为没有定义自身平台配置的机器池指定参数。
4
必需。安装程序会提示您输入要将集群部署到的区域。
5
可选。指定应该安装集群的现有资源组。
8
必需。安装程序会提示您输入 pull secret。
9
可选。安装程序会提示您输入用于访问集群中机器的 SSH 密钥值。
6 7
可选。这些是 vswitchID 值示例。

6.5.3. 生成所需的安装清单

您必须生成 Kubernetes 清单和 Ignition 配置文件,集群需要配置机器。

流程

  1. 从包含安装程序的目录中运行以下命令来生成清单:

    $ openshift-install create manifests --dir <installation_directory>
    Copy to Clipboard Toggle word wrap

    其中:

    <installation_directory>
    指定安装程序在其中创建文件的目录。

6.5.4. 配置 Cloud Credential Operator 工具

当 Cloud Credential Operator(CCO)以手动模式运行时,要从集群外部创建和管理云凭证,提取并准备 CCO 实用程序(ccoctl)二进制文件。

注意

ccoctl 工具是在 Linux 环境中运行的 Linux 二进制文件。

先决条件

  • 您可以访问具有集群管理员权限的 OpenShift Container Platform 帐户。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 运行以下命令,为 OpenShift Container Platform 发行镜像设置变量:

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,从 OpenShift Container Platform 发行镜像获取 CCO 容器镜像:

    $ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
    Copy to Clipboard Toggle word wrap
    注意

    确保 $RELEASE_IMAGE 的架构与将使用 ccoctl 工具的环境架构相匹配。

  3. 运行以下命令,将 CCO 容器镜像中的 ccoctl 二进制文件提取到 OpenShift Container Platform 发行镜像中:

    $ oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令更改权限以使 ccoctl 可执行:

    $ chmod 775 ccoctl
    Copy to Clipboard Toggle word wrap

验证

  • 要验证 ccoctl 是否准备就绪,可以尝试显示帮助文件。运行命令时使用相对文件名,例如:

    $ ./ccoctl.rhel9
    Copy to Clipboard Toggle word wrap

    输出示例

    OpenShift credentials provisioning tool
    
    Usage:
      ccoctl [command]
    
    Available Commands:
      alibabacloud Manage credentials objects for alibaba cloud
      aws          Manage credentials objects for AWS cloud
      azure        Manage credentials objects for Azure
      gcp          Manage credentials objects for Google cloud
      help         Help about any command
      ibmcloud     Manage credentials objects for IBM Cloud
      nutanix      Manage credentials objects for Nutanix
    
    Flags:
      -h, --help   help for ccoctl
    
    Use "ccoctl [command] --help" for more information about a command.
    Copy to Clipboard Toggle word wrap

您可以使用 OpenShift Container Platform Cloud Credential Operator(CCO)实用程序自动为每个集群组件创建 Alibaba Cloud RAM 用户和策略。

注意

默认情况下,ccoctl 在运行命令的目录中创建对象。要在其他目录中创建对象,请使用 --output-dir 标志。此流程使用 <path_to_ccoctl_output_dir> 来引用这个目录。

先决条件

您必须:

  • 提取并准备好 ccoctl 二进制文件。
  • 创建具有足够权限来创建 OpenShift Container Platform 集群的 RAM 用户。
  • 将 RAM 用户的 AccessKeyID(access_key_id)和 AccessKeySecret(access_key_secret)添加到本地计算机上的 ~/.alibabacloud/credentials 文件中

流程

  1. 运行以下命令,使用安装文件中的发行镜像设置 $RELEASE_IMAGE 变量:

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,从 OpenShift Container Platform 发行镜像中提取 CredentialsRequest 对象列表:

    $ oc adm release extract \
      --from=$RELEASE_IMAGE \
      --credentials-requests \
      --included \
    1
    
      --install-config=<path_to_directory_with_installation_configuration>/install-config.yaml \
    2
    
      --to=<path_to_directory_for_credentials_requests> 
    3
    Copy to Clipboard Toggle word wrap
    1
    --included 参数仅包含特定集群配置所需的清单。
    2
    指定 install-config.yaml 文件的位置。
    3
    指定要存储 CredentialsRequest 对象的目录的路径。如果指定的目录不存在,这个命令会创建它。
    注意

    此命令可能需要一些时间才能运行。

  3. 运行以下命令,使用 ccoctl 工具处理所有 CredentialsRequest 对象:

    1. 运行以下命令使用该工具:

      $ ccoctl alibabacloud create-ram-users \
        --name <name> \
      1
      
        --region=<alibaba_region> \
      2
      
        --credentials-requests-dir=<path_to_credentials_requests_directory> \
      3
      
        --output-dir=<path_to_ccoctl_output_dir> 
      4
      Copy to Clipboard Toggle word wrap
      1
      指定用于标记创建用于跟踪的任何云资源的名称。
      2
      指定在其中创建云资源的 Alibaba Cloud 区域。
      3
      指定包含组件 CredentialsRequest 对象文件的目录。
      4
      指定要放置生成组件凭证 secret 的目录。
      注意

      如果您的集群使用 TechPreviewNoUpgrade 功能集启用的技术预览功能,则必须包含 --enable-tech-preview 参数。

      输出示例

      2022/02/11 16:18:26 Created RAM User: user1-alicloud-openshift-machine-api-alibabacloud-credentials
      2022/02/11 16:18:27 Ready for creating new ram policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy
      2022/02/11 16:18:27 RAM policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy has created
      2022/02/11 16:18:28 Policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy has attached on user user1-alicloud-openshift-machine-api-alibabacloud-credentials
      2022/02/11 16:18:29 Created access keys for RAM User: user1-alicloud-openshift-machine-api-alibabacloud-credentials
      2022/02/11 16:18:29 Saved credentials configuration to: user1-alicloud/manifests/openshift-machine-api-alibabacloud-credentials-credentials.yaml
      ...
      Copy to Clipboard Toggle word wrap

      注意

      RAM 用户可以同时具有两个 accessKeys。如果您运行 ccoctl alibabacloud create-ram-users 两次,则之前生成的 manifests secret 将变为过时,您必须重新应用新生成的 secret。

    2. 验证 OpenShift Container Platform secret 是否已创建:

      $ ls <path_to_ccoctl_output_dir>/manifests
      Copy to Clipboard Toggle word wrap

      输出示例

      openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml
      openshift-image-registry-installer-cloud-credentials-credentials.yaml
      openshift-ingress-operator-cloud-credentials-credentials.yaml
      openshift-machine-api-alibabacloud-credentials-credentials.yaml
      Copy to Clipboard Toggle word wrap

      您可以通过查询 Alibaba Cloud 来验证是否创建了 RAM 用户和策略。如需更多信息,请参阅 Alibaba Cloud 文档中有关列出 RAM 用户和策略的内容。

  4. 将生成的凭证文件复制到目标清单目录中:

    $ cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/
    Copy to Clipboard Toggle word wrap

    其中:

    <path_to_ccoctl_output_dir>
    指定 ccoctl alibabacloud create-ram-users 命令创建的目录。
    <path_to_installation_dir>
    指定安装程序在其中创建文件的目录。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat