Configure Cluster Autoscaler for your Kubernetes Version

This guide will walk you through configuring the Cluster Autoscaler after you have upgraded your control plane from Kubernetes 1.18 to 1.19.

Note

This guide assumes that you have already deployed the Cluster Autoscaler on your cluster. If this does not hold, please proceed to the corresponding guide for deploying the Cluster Autoscaler on your cluster.

What You'll Need

Check Your Environment

  1. Get the version of the Kubernetes control plane:

    root@rok-tools:~# kubectl version -ojson | jq -r '.serverVersion.gitVersion'
    v1.19.13-eks-8df270
    

    This guide presumes that you have upgraded your control plane to Kubernetes 1.19. The output of the above command must start with v1.19. If it does not, your control plane does not have the expected Kubernetes version. Please upgrade your control plane before proceeding.

Procedure

  1. Go to your GitOps repository, inside your rok-tools management environment:

    root@rok-tools:~# cd ~/ops/deployments
    
  2. Edit rok/cluster-autoscaler/overlays/deploy/kustomization.yaml and use k8s-1.19 instead of k8s-1.18 as the base overlay:

    resources:
    #- ../arrikto
    #- ../k8s-1.18
    - ../k8s-1.19
    
  3. Commit your changes:

    root@rok-tools:~/ops/deployments# git commit -am "Configure Cluster Autoscaler for Kubernetes 1.19"
    
  4. Mark your progress:

    root@rok-tools:~/ops/deployments# export DATE=$(date -u "+%Y-%m-%dT%H.%M.%SZ")
    
    root@rok-tools:~/ops/deployments# git tag \
    > -a deploy/${DATE?}/release-1.4/ops-eks-upgrade-autoscaler \
    > -m "Configure Cluster Autoscaler for your Kubernetes Version"
    
  5. Apply the kustomization:

    root@rok-tools:~/ops/deployments# rok-deploy --apply rok/cluster-autoscaler/overlays/deploy
    

Verify

  1. Verify that the Cluster Autoscaler is up and running. Verify that field READY is 1/1:

    root@rok-tools:~# kubectl get -n kube-system deploy/cluster-autoscaler
    NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
    cluster-autoscaler             1/1     1            1           1m
    
  2. Get the image of the Cluster Autoscaler and ensure that the image tag matches the Kubernetes version 1.19, that is, it starts with 1.19:

    root@rok-tools:~# kubectl -n kube-system get deploy cluster-autoscaler \
    > -o jsonpath='{.spec.template.spec.containers[].image}{"\n"}'
    gcr.io/arrikto/cluster-autoscaler:1.19.2-18-ga6d436299-amd64
    

Summary

You have successfully configured Cluster Autoscaler for Kubernetes 1.19.

What's Next

Check out the rest of the EKS maintenance operations that you can perform on your cluster.