43.2. Primed イメージの作成
自動スケーラーが使用する Primed イメージを自動的に作成するように Ansible Playbook を使用できます。既存の Amazon Web Services (AWS) クラスターの属性を指定する必要があります。
すでに Primed イメージがある場合、新規のイメージを作成せずにこれを使用できます。
手順
OpenShift Container Platform クラスターを作成するために使用したホストで、Primed イメージを作成します。
ローカルホストに新規の 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]
ローカルホストにプロビジョニングファイル 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
- Primed イメージのベースイメージとして使用する 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 Paybook を実行して 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 が出力に表示されます。起動設定の作成時に生成した AMI を指定します。