2.2.2. 手动创建 IAM


在无法访问云身份和访问管理(IAM)API 的环境中,或者管理员更不希望将管理员级别的凭证 secret 存储在集群 kube-system 命名空间中时,可以在安装前将 Cloud Credential Operator(CCO)放入手动模式。

流程

  1. 切换到包含安装程序的目录并创建 install-config.yaml 文件:

    $ openshift-install create install-config --dir <installation_directory>
  2. 编辑 install-config.yaml 配置文件,把其中的 credentialsMode 参数设置为Manual

    示例 install-config.yaml 配置文件

    apiVersion: v1
    baseDomain: cluster1.example.com
    credentialsMode: Manual 1
    compute:
    - architecture: amd64
      hyperthreading: Enabled
    ...

    1
    添加这一行将 credentialsMode 参数设置为 Manual
  3. 要生成清单,请在包含安装程序的目录中运行以下命令:

    $ openshift-install create manifests --dir <installation_directory> 1
    1
    对于 <installation_directory>,请指定用于保存安装程序所创建的文件的目录名称。
  4. 删除使用本地云凭证创建的 admin 凭证 secret。这会防止您的 admin 凭证存储在集群中:

    $ rm mycluster/openshift/99_cloud-creds-secret.yaml
  5. 从包含安装程序的目录中,获取 openshift-install 二进制文件要使用的 OpenShift Container Platform 发行镜像详情:

    $ openshift-install version

    输出示例

    release image quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64

  6. 针对您要部署到的云,找到此发行版本镜像中的所有 CredentialsRequests 对象:

    $ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64 --credentials-requests --cloud=aws

    这会显示每个请求的详情。

    CredentialsRequest 对象示例

    apiVersion: cloudcredential.openshift.io/v1
    kind: CredentialsRequest
    metadata:
      name: cloud-credential-operator-iam-ro
      namespace: openshift-cloud-credential-operator
    spec:
      secretRef:
        name: cloud-credential-operator-iam-ro-creds
        namespace: openshift-cloud-credential-operator
      providerSpec:
        apiVersion: cloudcredential.openshift.io/v1
        kind: AWSProviderSpec
        statementEntries:
        - effect: Allow
          action:
          - iam:GetUser
          - iam:GetUserPolicy
          - iam:ListAccessKeys
          resource: "*"

  7. 在之前生成的 openshift-install 清单目录中为 secret 创建 YAML 文件。secret 必须使用在 spec.secretRef 中为每个 credentialsRequest 定义的命名空间和 secret 名称存储 。secret 数据的格式因云供应商而异。
  8. 从包含安装程序的目录中,开始创建集群:

    $ openshift-install create cluster --dir <installation_directory>
    重要

    在升级使用手动维护凭证的集群前,必须确保 CCO 处于可升级状态。详情请参阅您的云供应商的对手动维护凭证的集群进行升级部分的内容。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.