# add helm repos for autoscalers - name: Add cluster autoscaler chart repo kubernetes.core.helm_repository: name: autoscaler repo_url: "https://icr.io/helm/iks-charts" # deploy cluster autoscaler for "cas" cluster - name: Deploy Cluster Autoscaler kubernetes.core.helm: name: cas chart_ref: autoscaler/cluster-autoscaler release_namespace: cas set_values: - value: "'autoDiscovery.clusterName'={{ clusters['cas'] }}" value_type: string loop: - cas environment: KUBECONFIG: "{{ lookup('vars', 'KUBECONFIG_' + item | upper) }}" loop_control: loop_var: cluster_name # deploy karpenter for "karpenter" cluster - name: Deploy Karpenter Autoscaler kubernetes.core.helm: name: karpenter chart_ref: pfeifferj/ibm-cloud-karpenter release_namespace: karpenter loop: - karpenter environment: KUBECONFIG: "{{ lookup('vars', 'KUBECONFIG_' + item | upper) }}" loop_control: loop_var: cluster_name # ensure the monitoring stack is configured with custom values or plugins - name: Configure Prometheus with custom values kubernetes.core.helm: name: prometheus chart_ref: stable/prometheus release_namespace: monitoring values: scrape_configs: custom-scrape-config.yaml loop: - cas - karpenter environment: KUBECONFIG: "{{ lookup('vars', 'KUBECONFIG_' + item | upper) }}" loop_control: loop_var: cluster_name