apiVersion: extensions/v1beta1 kind: Deployment metadata: name: cluster-autoscaler namespace: kube-system labels: k8s-app: cluster-autoscaler spec: replicas: 1 selector: matchLabels: k8s-app: cluster-autoscaler template: metadata: labels: k8s-app: cluster-autoscaler annotations: # For 1.6, we keep the old tolerations in case of a downgrade to 1.5 scheduler.alpha.kubernetes.io/tolerations: '[{"key":"dedicated", "value":"master"}]' prometheus.io/scrape: 'true' prometheus.io/port: '8085' spec: containers: - name: cluster-autoscaler image: {{IMAGE}} livenessProbe: httpGet: path: /health-check port: 8085 readinessProbe: httpGet: path: /health-check port: 8085 resources: limits: cpu: 100m memory: 300Mi requests: cpu: 100m memory: 300Mi command: - ./cluster-autoscaler - --cloud-provider={{CLOUD_PROVIDER}} - --nodes={{MIN_NODES}}:{{MAX_NODES}}:{{GROUP_NAME}} env: - name: AWS_REGION value: {{AWS_REGION}} volumeMounts: - name: ssl-certs mountPath: {{SSL_CERT_PATH}} readOnly: true volumes: - name: ssl-certs hostPath: path: {{SSL_CERT_PATH}} dnsPolicy: "Default" nodeSelector: node-role.kubernetes.io/master: "" tolerations: - key: "node-role.kubernetes.io/master" effect: NoSchedule