インストール
まず、クラスターにcluster-autoscalerをインストールします。ラボの準備として、cluster-autoscalerが適切なAWS APIを呼び出すためのIAMロールがすでに作成されています。
あとはcluster-autoscalerをhelmチャートとしてインストールするだけです:
~$helm repo add autoscaler https://kubernetes.github.io/autoscaler
~$helm upgrade --install cluster-autoscaler autoscaler/cluster-autoscaler \
--version "${CLUSTER_AUTOSCALER_CHART_VERSION}" \
--namespace "kube-system" \
--set "autoDiscovery.clusterName=${EKS_CLUSTER_NAME}" \
--set "awsRegion=${AWS_REGION}" \
--set "image.tag=v${CLUSTER_AUTOSCALER_IMAGE_TAG}" \
--set "rbac.serviceAccount.name=cluster-autoscaler-sa" \
--set "rbac.serviceAccount.annotations.eks\\.amazonaws\\.com/role-arn"="$CLUSTER_AUTOSCALER_ROLE" \
--wait
NAME: cluster-autoscaler
LAST DEPLOYED: [...]
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
これはkube-systemネームスペースにデプロイメントとして実行されます:
~$kubectl get deployment -n kube-system cluster-autoscaler-aws-cluster-autoscaler
NAME READY UP-TO-DATE AVAILABLE AGE
cluster-autoscaler-aws-cluster-autoscaler 1/1 1 1 51s
これで、より多くのコンピュートリソースをプロビジョニングするためにワークロードを変更する準備が整いました。