43.4. クラスターへの自動スケーラーコンポーネントのデプロイ
起動設定および自動スケーリンググループの作成後に、自動スケーラーコンポーネントをクラスターにデプロイできます。
前提条件
- AWS で OpenShift Container Platform クラスターをインストールします。
- Primed イメージを作成します。
- Primed イメージを参照する起動設定および自動スケーリンググループを作成します。
手順
自動スケーラーをデプロイするには、以下を実行します。
自動スケーラーを実行するためにクラスターを更新します。
クラスターを作成するために使用したインベントリーファイルに、以下のパラメーターを追加します。デフォルトは /etc/ansible/hosts です。
openshift_master_bootstrap_auto_approve=true
openshift_master_bootstrap_auto_approve=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 自動スケーラーコンポーネントを取得するには、Playbook ディレクトリーに切り替えてから Playbook を再度実行します。
cd /usr/share/ansible/openshift-ansible ansible-playbook -i </path/to/inventory/file> \ playbooks/openshift-master/enable_bootstrap.yml
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i </path/to/inventory/file> \ playbooks/openshift-master/enable_bootstrap.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow bootstrap-autoapprover
Pod が実行中であることを確認します。oc get pods --all-namespaces | grep bootstrap-autoapprover
$ oc get pods --all-namespaces | grep bootstrap-autoapprover NAMESPACE NAME READY STATUS RESTARTS AGE openshift-infra bootstrap-autoapprover-0 1/1 Running 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
自動スケーラーの namespace を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 自動スケーラーのサービスアカウントを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なパーミッションをサービスアカウントに付与するためのクラスターロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
cluster-autoscaler
オブジェクトが存在する場合、pods/eviction
ルールが動詞create
と共に存在することを確認します。
デプロイメント自動スケーラーのロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow creds ファイルを作成して、自動スケーラーの AWS 認証情報を保存します。
cat <<EOF > creds [default] aws_access_key_id = your-aws-access-key-id aws_secret_access_key = your-aws-secret-access-key EOF
$ cat <<EOF > creds [default] aws_access_key_id = your-aws-access-key-id aws_secret_access_key = your-aws-secret-access-key EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 自動スケーラーはこれらの認証情報を使用して、新規インスタンスを起動します。
AWS 認証情報が含まれるシークレットを作成します。
oc create secret -n cluster-autoscaler generic autoscaler-credentials --from-file=creds
$ oc create secret -n cluster-autoscaler generic autoscaler-credentials --from-file=creds
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 自動スケーラーはこのシークレットを使用して AWS 内でインスタンスを起動します。
cluster-reader ロールを作成し、これを作成した
cluster-autoscaler
サービスアカウントに付与します。oc adm policy add-cluster-role-to-user cluster-autoscaler system:serviceaccount:cluster-autoscaler:cluster-autoscaler -n cluster-autoscaler oc adm policy add-role-to-user cluster-autoscaler system:serviceaccount:cluster-autoscaler:cluster-autoscaler --role-namespace cluster-autoscaler -n cluster-autoscaler oc adm policy add-cluster-role-to-user cluster-reader system:serviceaccount:cluster-autoscaler:cluster-autoscaler -n cluster-autoscaler
$ oc adm policy add-cluster-role-to-user cluster-autoscaler system:serviceaccount:cluster-autoscaler:cluster-autoscaler -n cluster-autoscaler $ oc adm policy add-role-to-user cluster-autoscaler system:serviceaccount:cluster-autoscaler:cluster-autoscaler --role-namespace cluster-autoscaler -n cluster-autoscaler $ oc adm policy add-cluster-role-to-user cluster-reader system:serviceaccount:cluster-autoscaler:cluster-autoscaler -n cluster-autoscaler
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの自動スケーラーをデプロイします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow