第 7 章 为使用 STS 设置环境

满足 AWS 的先决条件后,设置您的环境并安装 Red Hat OpenShift Service on AWS (ROSA)。

提示

AWS 安全令牌服务 (STS) 是推荐的凭证模式,用于安装 Red Hat OpenShift Service on AWS (ROSA) 集群并与之交互,因为它提供了增强的安全性。

7.1. 为 STS 设置环境

在创建使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群前,请完成以下步骤来设置您的环境。

前提条件

  • 检查并完成部署先决条件和策略。
  • 如果还没有 红帽帐户,请创建一个。然后,检查您的电子邮件中的验证链接。您需要这些凭证来安装 ROSA。

流程

  1. 登录到您要使用的 Amazon Web Services (AWS)帐户。

    建议您使用专用 AWS 帐户来运行生产环境集群。如果使用 AWS Organizations,您可以使用您所在机构的 AWS 帐户或创建一个新账户

    如果您使用 AWS 机构,且您需要有一个服务控制策略 (SCP) 应用于您计划使用的 AWS 帐户,则这些策略必须比集群所需的角色和策略更严格。

  2. 在 AWS 管理控制台中启用 ROSA 服务。

    1. 登录您的 AWS 帐户
    2. 要启用 ROSA,请转至 ROSA 服务 并选择 Enable OpenShift
  3. 安装和配置 AWS CLI。

    1. 按照 AWS 命令行界面文档为您的操作系统 安装配置 AWS CLI。

      .aws/credentials 文件中指定正确的 aws_access_key_idaws_secret_access_key。请参阅 AWS 文档中的 AWS 配置基础知识

    2. 设置默认 AWS 区域。

      注意

      您可以使用环境变量设置默认的 AWS 区域。

      ROSA 服务以以下优先级顺序评估区域:

      1. 使用 --region 标志运行 rosa 命令时指定的区域。
      2. AWS_DEFAULT_REGION 环境变量中设置的区域。请参阅 AWS 文档中的配置 AWS CLI 的环境变量
      3. AWS 配置文件中设置的默认区域。请参阅 AWS 文档中的使用 aws 配置的快速配置
    3. 可选:使用名为 profile 的 AWS CLI 设置和凭证配置 AWS CLI 设置和凭证。ROSA 按照以下优先级顺序评估 AWS 命名配置集:

      1. 使用 --profile 标志运行 rosa 命令时指定的配置集。
      2. AWS_PROFILE 环境变量中设置的配置集。请参阅 AWS 文档中的 名称配置集
    4. 运行以下命令查询 AWS API 来验证 AWS CLI 是否已正确安装和配置:

      $ aws sts get-caller-identity
  4. 安装最新版本的 ROSA CLI (rosa)。

    1. 为您的操作系统下载 ROSA CLI 的最新版本。
    2. 可选:命名您下载到 rosa 的文件,并使文件可执行。本文档使用 rosa 参考可执行文件。

      $ chmod +x rosa
    3. 可选:在路径中添加 rosa

      $ mv rosa /usr/local/bin/rosa
    4. 输入以下命令验证您的安装:

      $ rosa

      输出示例

      Command line tool for Red Hat OpenShift Service on AWS.
      For further documentation visit https://access.redhat.com/documentation/zh-cn/red_hat_openshift_service_on_aws
      
      Usage:
        rosa [command]
      
      Available Commands:
        completion  Generates completion scripts
        create      Create a resource from stdin
        delete      Delete a specific resource
        describe    Show details of a specific resource
        download    Download necessary tools for using your cluster
        edit        Edit a specific resource
        grant       Grant role to a specific resource
        help        Help about any command
        init        Applies templates to support Red Hat OpenShift Service on AWS
        install     Installs a resource into a cluster
        link        Link a ocm/user role from stdin
        list        List all resources of a specific type
        login       Log in to your Red Hat account
        logout      Log out
        logs        Show installation or uninstallation logs for a cluster
        revoke      Revoke role from a specific resource
        uninstall   Uninstalls a resource from a cluster
        unlink      UnLink a ocm/user role from stdin
        upgrade     Upgrade a resource
        verify      Verify resources are configured correctly for cluster install
        version     Prints the version of the tool
        whoami      Displays user account information
      
      Flags:
            --color string   Surround certain characters with escape sequences to display them in color on the terminal. Allowed options are [auto never always] (default "auto")
            --debug          Enable debug mode.
        -h, --help           help for rosa
      
      Use "rosa [command] --help" for more information about a command.

    5. 为 ROSA CLI 生成命令完成脚本。以下示例为 Linux 机器生成 Bash 完成脚本:

      $ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
    6. 提供脚本,以从现有终端中启用 rosa 命令完成。以下示例在 Linux 机器上提供 rosa 的 Bash 完成脚本:

      $ source /etc/bash_completion.d/rosa
  5. 使用 ROSA CLI 登录您的红帽帐户。

    1. 输入以下命令。

      $ rosa login
    2. <my_offline_access_token& gt; 替换为您的令牌。

      输出示例

      To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa
      ? Copy the token and paste it here: <my-offline-access-token>

      输出持续示例

      I: Logged in as '<rh-rosa-user>' on 'https://api.openshift.com'

  6. 验证您的 AWS 帐户是否有部署 ROSA 集群所需的配额。

    $ rosa verify quota [--region=<aws_region>]

    输出示例

    I: Validating AWS quota...
    I: AWS quota ok

    注意

    有时,AWS 配额因区域而异。如果您收到任何错误,请尝试不同的区域。

    如果需要提高配额,进入 AWS 管理控制台,并为失败的服务请求配额增加。

    在配额检查成功后,继续下一步。

  7. 为集群部署准备 AWS 帐户:

    1. 运行以下命令,以验证您的红帽和 AWS 凭证是否已正确设置。检查 AWS 帐户 ID、默认区域和 ARN 是否与您所期望的内容匹配。您可以安全地忽略以 OpenShift Cluster Manager 开始的行。

      $ rosa whoami

      输出示例

      AWS Account ID:               000000000000
      AWS Default Region:           us-east-1
      AWS ARN:                      arn:aws:iam::000000000000:user/hello
      OCM API:                      https://api.openshift.com
      OCM Account ID:               1DzGIdIhqEWyt8UUXQhSoWaaaaa
      OCM Account Name:             Your Name
      OCM Account Username:         you@domain.com
      OCM Account Email:            you@domain.com
      OCM Organization ID:          1HopHfA2hcmhup5gCr2uH5aaaaa
      OCM Organization Name:        Red Hat
      OCM Organization External ID: 0000000

  8. 通过 ROSA (rosa) CLI 安装 OpenShift CLI (oc)、版本 4.7.9 或更高版本。

    1. 输入这个命令下载 oc CLI 的最新版本:

      $ rosa download openshift-client
    2. 下载 oc CLI 后,解压它并将其添加到您的路径中。
    3. 输入这个命令来验证 oc CLI 是否已正确安装:

      $ rosa verify openshift-client

创建角色

完成这些步骤后,就可以设置 IAM 和 OIDC 访问的角色。