43.2. 기본 이미지 생성
Ansible 플레이북을 사용하여 자동 스케일러가 사용할 기본 이미지를 자동으로 생성할 수 있습니다. 기존 AWS(Amazon Web Services) 클러스터에서 속성을 제공해야 합니다.
기본 이미지가 이미 있는 경우 새 이미지를 생성하는 대신 사용할 수 있습니다.
절차
OpenShift Container Platform 클러스터를 생성하는 데 사용한 호스트에서 기본 이미지를 생성합니다.
로컬 호스트에 새 Ansible 인벤토리 파일을 생성합니다. 이 파일에는 참여 노드에서 자동 스케일링을 활성화하기 위해
cloudprovider
플래그를 할당하는 변수가 필요합니다. 이러한 변수가 없으면build_ami.yml
플레이북에서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]
로컬 호스트에 프로비저닝 파일 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
- VPC 생성을 비활성화하려면
False
를 지정합니다. - 4
- 클러스터가 실행 중인 기존 VPC 이름을 제공합니다.
- 5
- 기존 클러스터가 실행 중인 서브넷의 이름을 제공합니다.
- 6
- 보안 그룹 생성을 비활성화하려면
False
를 지정합니다. - 7
- SSH 액세스에 사용할 AWS 키 이름을 제공합니다.
- 8
- 기본 이미지의 기본 이미지로 사용할 AMI 이미지 ID를 제공합니다. Red Hat® Cloud Access 를 참조하십시오.
- 9
- S3 버킷 생성을 비활성화하려면
False
를 지정합니다. - 10
- 보안 그룹 이름을 입력합니다.
- 11
- 기존 클러스터가 실행 중인 VPC 서브넷을 제공합니다.
- 12
overlay2
를 Docker 스토리지 유형으로 지정합니다.- 13
- LVM 및 /var/lib/docker 디렉터리의 마운트 지점을 지정합니다.
- 14
- Red Hat Cloud를 사용하는 경우 이 매개변수 값을
true
로 설정하여 파일 시스템에서gquota
를 활성화합니다. - 15
- 활성 OpenShift Container Platform 서브스크립션을 사용하여 Red Hat 계정의 이메일 주소를 지정합니다.
- 16
- Red Hat 계정의 암호를 지정합니다
- 17
- OpenShift Container Platform 서브스크립션의 풀 ID를 지정합니다. 클러스터를 만들 때 사용한 것과 동일한 풀 ID를 사용할 수 있습니다.
build_ami.yml 플레이북을 실행하여 기본 이미지를 생성합니다.
# ansible-playbook -i </path/to/inventory/file> \ /usr/openshift-ansible/playbooks/aws/openshift-cluster/build_ami.yml \ -e @build-ami-provisioning-vars.yaml
플레이북이 실행되면 출력에 새 이미지 ID 또는 AMI가 표시됩니다. 시작 구성을 생성할 때 생성되는 AMI를 지정합니다.