メインコンテンツまでスキップ

インストール

まず、クラスターに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

これで、より多くのコンピュートリソースをプロビジョニングするためにワークロードを変更する準備が整いました。