k8s/roles/metrics_server/tasks/helm.yml
mrwho 6e0200f64c refactor(infra): restructure metrics collection infrastructure
Added new playbook `setup_metrics_server.yml` and standalone role `roles/metrics_server/` to centralize Kubernetes metrics server deployment and configuration, separating concerns from the main uyuni role for modularity and reuse.
2026-07-19 15:02:19 +03:00

31 lines
1.3 KiB
YAML

---
- name: Helm | Add metrics-server repository
ansible.builtin.command: helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
register: _helm_repo_add
changed_when: "'already exists' not in _helm_repo_add.stdout"
failed_when: _helm_repo_add.rc != 0 and 'already exists' not in _helm_repo_add.stdout
- name: Helm | Update repositories
ansible.builtin.command: helm repo update
changed_when: false
- name: Helm | Install or upgrade metrics-server
ansible.builtin.command: >
helm upgrade --install metrics-server metrics-server/metrics-server
--namespace {{ metrics_server_namespace }}
--create-namespace
--version {{ metrics_server_chart_version }}
--set args[0]=--kubelet-insecure-tls
--set args[1]=--metric-resolution=15s
--set resources.requests.cpu={{ metrics_server_resources_requests_cpu }}
--set resources.requests.memory={{ metrics_server_resources_requests_memory }}
--set resources.limits.cpu={{ metrics_server_resources_limits_cpu }}
--set resources.limits.memory={{ metrics_server_resources_limits_memory }}
--timeout 10m0s
--wait
environment:
KUBECONFIG: "{{ metrics_server_kubeconfig }}"
PATH: "/usr/local/bin:/usr/bin:/bin"
register: _helm_install
changed_when: "'STATUS: deployed' in _helm_install.stdout or 'has been upgraded' in _helm_install.stdout"