43.2. 创建 primed 镜像


您可以使用 Ansible playbook 自动创建一个 primed 镜像,供自动扩展器使用。您必须从现有 Amazon Web Services(AWS)集群中提供属性。

注意

如果您已经有 primed 镜像,您可以使用它而不是创建新镜像。

流程

在用于创建 OpenShift Container Platform 集群的主机上,创建一个 primed 镜像:

  1. 在本地主机上创建一个新的 Ansible 清单文件。此文件需要分配 cloudprovider 标志的变量,以便在参与的节点上启用自动扩展。如果没有这些变量,build_ami.yml playbook 无法使用 openshift_cloud_provider 角色:

    [OSEv3:children]
    masters
    nodes
    etcd
    
    [OSEv3:vars]
    openshift_deployment_type=openshift-enterprise
    ansible_ssh_user=ec2-user
    openshift_clusterid=mycluster
    ansible_become=yes
    openshift_cloudprovider_kind=aws 1
    openshift_cloudprovider_aws_access_key=<aws_access_key> 2
    openshift_cloudprovider_aws_secret_key=<aws_secret_key> 3
    
    [masters]
    [etcd]
    [nodes]
    1
    指定云供应商的类型。
    2
    提供云供应商 Identity and Access Management(IAM)访问密钥。
    3
    提供云提供 IAM secret 密钥。
  2. 在本地主机上创建置备文件 build-ami-provisioning-vars.yaml

    openshift_deployment_type: openshift-enterprise
    
    openshift_aws_clusterid: mycluster 1
    
    openshift_aws_region: us-east-1 2
    
    openshift_aws_create_vpc: false 3
    
    openshift_aws_vpc_name: production 4
    
    openshift_aws_subnet_az: us-east-1d 5
    
    openshift_aws_create_security_groups: false 6
    
    openshift_aws_ssh_key_name: production-ssh-key 7
    
    openshift_aws_base_ami: ami-12345678 8
    
    openshift_aws_create_s3: False 9
    
    openshift_aws_build_ami_group: default 10
    
    openshift_aws_vpc: 11
      name: "{{ openshift_aws_vpc_name }}"
      cidr: 172.18.0.0/16
      subnets:
        us-east-1:
        - cidr: 172.18.0.0/20
          az: "us-east-1d"
    
    container_runtime_docker_storage_type: overlay2 12
    container_runtime_docker_storage_setup_device: /dev/xvdb 13
    
    # atomic-openshift-node service requires gquota to be set on the
    # filesystem that hosts /var/lib/origin/openshift.local.volumes (OCP
    # emptydir). Often is it not ideal or cost effective to deploy a vol
    # for emptydir. This pushes emptydir up to the / filesystem. Base ami
    # often does not ship with gquota enabled for /. Set this bool true to
    # enable gquota on / filesystem when using Red Hat Cloud Access RHEL7
    # AMI or Amazon Market RHEL7 AMI.
    openshift_aws_ami_build_set_gquota_on_slashfs: true 14
    
    rhsub_user: user@example.com 15
    rhsub_pass: password 16
    rhsub_pool: pool-id 17
    1
    提供现有集群的名称。
    2
    提供现有集群正在运行的区域。
    3
    指定 False 来禁用 VPC 的创建。
    4
    提供集群在其中运行的现有 VPC 名称。
    5
    提供现有集群在其中运行的子网名称。
    6
    指定 False 来禁用安全组的创建。
    7
    提供要用于 SSH 访问的 AWS 密钥名称。
    8
    提供 AMI 镜像 ID,以用作 primed 镜像的基础镜像。请参阅 Red Hat® Cloud Access
    9
    指定 False 来禁用 S3 存储桶的创建。
    10
    提供安全组名称。
    11
    提供现有集群的 VPC 子网。
    12
    指定 overlay2 作为 Docker 存储类型。
    13
    指定 LVM 和 /var/lib/docker 目录的挂载点。
    14
    如果使用 Red Hat Cloud,则将此参数设置为 true,使其在文件系统中启用 gquota
    15
    为具有有效 OpenShift Container Platform 订阅的红帽帐户指定电子邮件地址。
    16
    指定红帽帐户的密码
    17
    为 OpenShift Container Platform 订阅指定一个池 ID。您可以使用创建集群时所用的相同池 ID。
  3. 运行 build_ami.yml playbook 以生成 primed 镜像:

    # ansible-playbook -i </path/to/inventory/file> \
        /usr/openshift-ansible/playbooks/aws/openshift-cluster/build_ami.yml \
        -e @build-ami-provisioning-vars.yaml

    playbook 运行后,您会在其输出中看到新镜像 ID 或 AMI。您可以指定在创建 Launch Configuration 时生成的 AMI。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.