############################################################# ## NOT FOR PRODUCTION USE. ## ## THE CONTENT OF THIS FILE IS FOR LEARNING PURPOSES ONLY ## ## created by David Surey, Amazon Web Services, 2020 ## ############################################################# - name: create Policies for cluster-autoscaler cloudformation: profile: "{{ eksexample_aws_profilename }}" stack_name: "{{ eksexample_clustername }}-cluster-autoscaler-policy" state: present region: "{{ eksexample_region }}" template: "./cloudformation/eks-cluster-autoscaler-iam.template.yaml" - name: setup service account for cluster-autoscaler delegate_to: "{{ EKSBastionInstancePublicIP }}" shell: > eksctl create iamserviceaccount \ --name cluster-autoscaler \ --namespace kube-system \ --cluster "{{ eksexample_clustername }}" \ --attach-policy-arn "arn:aws:iam::{{ caller_info.account }}:policy/EKSClusterAutoscalerPolicy" \ --approve \ --region {{ eksexample_region }} \ --override-existing-serviceaccounts - name: add the cluster-autoscaler helm repo delegate_to: "{{ EKSBastionInstancePublicIP }}" kubernetes.core.helm_repository: name: autoscaler repo_url: "https://kubernetes.github.io/autoscaler" - name: Deploy latest version of the cluster-autoscaler chart inside kube-system namespace delegate_to: "{{ EKSBastionInstancePublicIP }}" kubernetes.core.helm: name: cluster-autoscaler chart_ref: autoscaler/cluster-autoscaler release_namespace: kube-system values: clusterName: "{{ eksexample_clustername }}" serviceAccount: create: false name: cluster-autoscaler