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.
31 lines
1.3 KiB
YAML
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"
|