18.4. 使用手动模式

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

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

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

有关将云供应商配置为使用手动模式的详情,请参阅为 AWSAzureGCP 手动创建 IAM

18.4.1. 使用 AWS STS 的手动模式

您可以使用手动模式配置 AWS 集群,以使用 Amazon Web Services Secure Token Service(AWS STS)。借助这一配置,CCO 对不同组件使用临时凭证。

18.4.2. 使用手动维护的凭证升级集群

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

  • 对于次发行版本(例如从 4.7 升级到 4.8),这个状态会阻止升级,直到您解决了任何更新的权限并 添加了 CloudCredential 资源,以指示下一版本根据需要更新权限。此注解将 Upgradable 状态更改为 True
  • 对于 z-stream 版本(例如从 4.8.9 到 4.8.10),不会添加或更改任何权限,因此不会阻止升级。

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

流程

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

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

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

    • 为新发行镜像添加的任何 CredentialsRequest 自定义资源创建新 secret。
    • 如果存储在 secret 中的任何现有凭证的 CredentialsRequest 自定义资源更改了其权限要求,请根据需要更新权限。
  3. 当所有 secret 都对新发行版本正确时,表示集群已准备好升级:

    1. 以具有 cluster-admin 角色的用户身份登录 OpenShift Container Platform CLI。
    2. 编辑 CloudCredential 资源,以在 metadata 字段中添加 可升级至 注解:

      $ oc edit cloudcredential cluster

      要添加的文本

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

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

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

  4. 验证 CCO 是否可升级:

    1. 在 Web 控制台的 Administrator 视角中,导航到 AdministrationCluster Settings
    2. 要查看 CCO 状态详情,请点击 Cluster Operators 列表中的 cloud-credential
    3. 如果 Conditions 部分中的 Upgradeable 状态为 False,请验证 upgradeable-to 注解没有拼写错误。

Conditions 部分中的 Upgradeable 状态为 True 时,您可以开始 OpenShift Container Platform 升级。

18.4.3. 其他资源