18.4. 使用手动模式

Alibaba Cloud、Amazon Web Services(AWS)、Microsoft Azure、IBM Cloud 和 Google Cloud Platform(GCP)支持手动模式。

在手动模式中,用户管理云凭证而不是 Cloud Credential Operator(CCO)。要使用此模式,您必须检查发行镜像中用于运行或安装的 OpenShift Container Platform 版本的 CredentialsRequest CR,在底层云供应商中创建对应的凭证,并在正确的命名空间中创建 Kubernetes Secret,以满足集群云供应商的所有 CredentialsRequest CR。

使用手动模式可允许每个集群组件只拥有所需的权限,而无需在集群中存储管理员级别的凭证。此模式还需要连接到 AWS 公共 IAM 端点。但是,每次升级都必须手动将权限与新发行镜像协调。

有关将云供应商配置为使用手动模式的详情,请参考您的云供应商的手动凭证管理选项:

18.4.1. 带有在集群外创建和管理的云凭证的手动模式

使用手动模式的 AWS 或 GCP 集群可能会被配置为使用 AWS 安全令牌服务 (STS) 或 GCP Workload Identity 从集群外部创建和管理云凭证。借助这一配置,CCO 对不同组件使用临时凭证。

如需更多信息,请参阅在 Amazon Web Services Security Token Service 中使用手动模式,或在 GCP Workload Identity 中使用手动模式

18.4.2. 使用手动维护的凭证更新云供应商资源

在使用手动维护凭证升级集群前,您必须为要升级到的发行镜像创建新凭证。您还必须查看现有凭证所需的权限,并满足这些组件的新版本中任何新权限要求。

流程

  1. 提取并检查 新版本的 CredentialsRequest 自定义资源。

    详情请参阅您的云供应商的“手动创建 IAM”部分来了解如何获取和使用您的云所需的凭证。

  2. 更新集群中手动维护的凭证:

    • 为新发行镜像添加的任何 CredentialsRequest 自定义资源创建新 secret。
    • 如果存储在 secret 中的任何现有凭证的 CredentialsRequest 自定义资源更改了其权限要求,请根据需要更新权限。

后续步骤

  • 更新 upgradeable-to 注解,以指示集群已准备好升级。

18.4.2.1. 表示集群已准备好升级

默认情况下,带有手动维护凭证的集群的 Cloud Credential Operator(CCO)U gradable 状态为 False

先决条件

  • 对于您要升级到的发行镜像,您可以手动处理任何新凭证,或使用 Cloud Credential Operator 实用程序 (ccoctl) 处理。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 以具有 cluster-admin 角色的用户身份登录到集群中的 oc
  2. 运行以下命令,编辑 CloudCredential 资源,以在 metadata 字段中添加 upgradeable-to 注解:

    $ oc edit cloudcredential cluster

    要添加的文本

    ...
      metadata:
        annotations:
          cloudcredential.openshift.io/upgradeable-to: <version_number>
    ...

    其中 <version_number> 是您要升级到的版本,格式为 x.y.z。例如,OpenShift Container Platform 4.10.2 使用 4.10.2。

    添加可升级状态进行更改的注解后,可能需要几分钟时间。

验证

  1. 在 Web 控制台的 Administrator 视角中,导航到 AdministrationCluster Settings
  2. 要查看 CCO 状态详情,请点击 Cluster Operators 列表中的 cloud-credential

    • 如果 Conditions 部分中的 Upgradeable 状态为 False,请验证 upgradeable-to 注解没有拼写错误。
  3. Conditions 部分中的 Upgradeable 状态为 True 时,开始 OpenShift Container Platform 升级。

18.4.3. 其他资源