43.4. クラスターへの自動スケーラーコンポーネントのデプロイ
起動設定および自動スケーリンググループの作成後に、自動スケーラーコンポーネントをクラスターにデプロイできます。
前提条件
- AWS で OpenShift Container Platform クラスターをインストールします。
- Primed イメージを作成します。
- Primed イメージを参照する起動設定および自動スケーリンググループを作成します。
手順
自動スケーラーをデプロイするには、以下を実行します。
自動スケーラーを実行するためにクラスターを更新します。
クラスターを作成するために使用したインベントリーファイルに、以下のパラメーターを追加します。デフォルトは /etc/ansible/hosts です。
openshift_master_bootstrap_auto_approve=true
openshift_master_bootstrap_auto_approve=trueCopy 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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow bootstrap-autoapproverPod が実行中であることを確認します。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 0Copy 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 EOFCopy 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=credsCopy 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-autoscalerCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの自動スケーラーをデプロイします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow