13.14. AWS 基础架构的 RHCOS AMI


红帽提供了对可手动为 OpenShift Container Platform 节点指定的各种 AWS 区域和实例架构有效的 Red Hat Enterprise Linux CoreOS(RHCOS)AMI。

注意

通过导入您自己的 AMI,您还可以安装到没有公布的 RHCOS AMI 的区域。

表 13.3. x86_64 RHCOS AMIs
AWS 区AWS AMI

af-south-1

ami-073850a7021953a5c

ap-east-1

ami-0f8800a05c09be42d

ap-northeast-1

ami-0a226dbcc9a561c40

ap-northeast-2

ami-041ae0537e2eddec1

ap-northeast-3

ami-0bb8d9b69dc5b7670

ap-south-1

ami-0e9c18058fc5f94fd

ap-southeast-1

ami-03022d358ba2168be

ap-southeast-2

ami-09ffdc5be9b973be0

ap-southeast-3

ami-0facf1a0edeb20314

ca-central-1

ami-028cea206c2d03317

eu-central-1

ami-002eb441f329ccb0f

eu-north-1

ami-0b1a1fb68b3b9fee7

eu-south-1

ami-0bd0fd41a1d3f799a

eu-west-1

ami-04504e8799057980c

eu-west-2

ami-0cc9297ddb3bce971

eu-west-3

ami-06f98f607a50937c6

me-south-1

ami-0fe39da7871a5b2a5

sa-east-1

ami-08265cc3226697767

us-east-1

ami-0fe05b1aa8dacfa90

us-east-2

ami-0ff64f495c7e977cf

us-gov-east-1

ami-0c99658076c41872a

us-gov-west-1

ami-0ca4acd5b8ba1cb1d

us-west-1

ami-01dc5d8e6bb6f23f4

us-west-2

ami-0404a109adfd00019

表 13.4. aarch64 RHCOS AMI
AWS 区AWS AMI

af-south-1

ami-0574bcc5f80b0ad9a

ap-east-1

ami-0a65e79822ae2d235

ap-northeast-1

ami-0f7ef19d48e22353b

ap-northeast-2

ami-051dc6de359975e3c

ap-northeast-3

ami-0fd0b4222595650ac

ap-south-1

ami-05f9d14fe4a90ed6f

ap-southeast-1

ami-0afdb9133d22fba5f

ap-southeast-2

ami-0ef979abe82d07d44

ap-southeast-3

ami-025f9103ac4310e7f

ca-central-1

ami-0588cdf59e5c14847

eu-central-1

ami-0ef24c0e18f93fa42

eu-north-1

ami-0439e2a3bf315df1a

eu-south-1

ami-0714e7c2e0106cdd3

eu-west-1

ami-0b960e76764ccd0c3

eu-west-2

ami-02621f50de62b3b89

eu-west-3

ami-0933ce7f5e2bfb50e

me-south-1

ami-074bde61a2ab740ee

sa-east-1

ami-03b4f97cfc8033ae0

us-east-1

ami-02a574449d4f4d280

us-east-2

ami-020e5600ef28c60ae

us-gov-east-1

ami-069f60e1dcf766d24

us-gov-west-1

ami-0db3cda4dbaccda02

us-west-1

ami-0c90cabeb5dee3178

us-west-2

ami-0f96437a23aeae53f

13.14.1. 没有公布的 RHCOS AMI 的 AWS 区域

您可以将 OpenShift Container Platform 集群部署到 Amazon Web Services(AWS)区域,而无需对 Red Hat Enterprise Linux CoreOS(RHCOS)Amazon Machine Image(AMI)或 AWS 软件开发 kit(SDK)的原生支持。如果 AWS 区域没有可用的已公布的 AMI,您可以在安装集群前上传自定义 AMI。

如果您要部署到 AWS SDK 不支持的区域,且您没有指定自定义 AMI,安装程序会自动将 us-east-1 AMI 复制到用户帐户。然后,安装程序使用默认或用户指定的密钥管理服务(KMS)密钥创建带有加密 EBS 卷的 control plane 机器。这允许 AMI 跟踪与公布的 RHCOS AMI 相同的进程工作流。

在集群创建过程中,无法从终端中选择没有原生支持 RHCOS AMI 的区域,因为它没有发布。但是,您可以通过在 install-config.yaml 文件中配置自定义 AMI 来安装到这个区域。

13.14.2. 在 AWS 中上传自定义 RHCOS AMI

如果要部署到自定义 Amazon Web Services(AWS)区域,您必须上传属于该区域的自定义 Red Hat Enterprise Linux CoreOS(RHCOS)Amazon Machine Image(AMI)。

先决条件

  • 已配置了一个 AWS 帐户。
  • 已使用所需的 IAM 服务角色创建 Amazon S3 存储桶。
  • 将 RHCOS VMDK 文件上传到 Amazon S3。RHCOS VMDK 文件必须是小于或等于您要安装的 OpenShift Container Platform 版本的最高版本。
  • 您下载了 AWS CLI 并安装到您的计算机上。请参阅使用捆绑安装程序安装 AWS CLI

流程

  1. 将 AWS 配置集导出为环境变量:

    $ export AWS_PROFILE=<aws_profile> 1
  2. 将与自定义 AMI 关联的区域导出为环境变量:

    $ export AWS_DEFAULT_REGION=<aws_region> 1
  3. 将上传至 Amazon S3 的 RHCOS 版本导出为环境变量:

    $ export RHCOS_VERSION=<version> 1
    1 1 1
    RHCOS VMDK 版本,如 4.12.0
  4. 将 Amazon S3 存储桶名称导出为环境变量:

    $ export VMIMPORT_BUCKET_NAME=<s3_bucket_name>
  5. 创建 containers.json 文件并定义 RHCOS VMDK 文件:

    $ cat <<EOF > containers.json
    {
       "Description": "rhcos-${RHCOS_VERSION}-x86_64-aws.x86_64",
       "Format": "vmdk",
       "UserBucket": {
          "S3Bucket": "${VMIMPORT_BUCKET_NAME}",
          "S3Key": "rhcos-${RHCOS_VERSION}-x86_64-aws.x86_64.vmdk"
       }
    }
    EOF
  6. 将 RHCOS 磁盘导入为 Amazon EBS 快照:

    $ aws ec2 import-snapshot --region ${AWS_DEFAULT_REGION} \
         --description "<description>" \ 1
         --disk-container "file://<file_path>/containers.json" 2
    1
    导入 RHCOS 磁盘的描述,如 rhcos-${RHCOS_VERSION}-x86_64-aws.x86_64
    2
    描述 RHCOS 磁盘的 JSON 文件的文件路径。JSON 文件应包含您的 Amazon S3 存储桶名称和密钥。
  7. 检查镜像导入的状态:

    $ watch -n 5 aws ec2 describe-import-snapshot-tasks --region ${AWS_DEFAULT_REGION}

    输出示例

    {
        "ImportSnapshotTasks": [
            {
                "Description": "rhcos-4.7.0-x86_64-aws.x86_64",
                "ImportTaskId": "import-snap-fh6i8uil",
                "SnapshotTaskDetail": {
                    "Description": "rhcos-4.7.0-x86_64-aws.x86_64",
                    "DiskImageSize": 819056640.0,
                    "Format": "VMDK",
                    "SnapshotId": "snap-06331325870076318",
                    "Status": "completed",
                    "UserBucket": {
                        "S3Bucket": "external-images",
                        "S3Key": "rhcos-4.7.0-x86_64-aws.x86_64.vmdk"
                    }
                }
            }
        ]
    }

    复制 SnapshotId 以注册镜像。

  8. 从 RHCOS 快照创建自定义 RHCOS AMI:

    $ aws ec2 register-image \
       --region ${AWS_DEFAULT_REGION} \
       --architecture x86_64 \ 1
       --description "rhcos-${RHCOS_VERSION}-x86_64-aws.x86_64" \ 2
       --ena-support \
       --name "rhcos-${RHCOS_VERSION}-x86_64-aws.x86_64" \ 3
       --virtualization-type hvm \
       --root-device-name '/dev/xvda' \
       --block-device-mappings 'DeviceName=/dev/xvda,Ebs={DeleteOnTermination=true,SnapshotId=<snapshot_ID>}' 4
    1
    RHCOS VMDK 架构类型,如 x86_64, aarch64, s390x, 或 ppc64le
    2
    来自导入快照的 Description
    3
    RHCOS AMI 的名称。
    4
    导入的快照中的 SnapshotID

如需了解更多有关这些 API 的信息,请参阅 AWS 文档 导入快照创建由 EBS 支持的 AMI

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.