From 95094450fb596c531262d942daec9ed1902f0c41 Mon Sep 17 00:00:00 2001 From: Devin Buhl Date: Wed, 17 Jan 2024 19:44:53 -0500 Subject: [PATCH] feat: enable etcd monitoring for k0s (#1179) * feat: enable etcd monitoring for k0s Signed-off-by: Devin Buhl * fix: always enable etcd on k3s Signed-off-by: Devin Buhl --------- Signed-off-by: Devin Buhl --- bootstrap/tasks/validation/github.yaml | 8 ++++---- .../ansible/inventory/group_vars/kubernetes/main.yaml.j2 | 5 +---- .../kube-prometheus-stack/app/helmrelease.yaml.j2 | 4 ---- bootstrap/templates/kubernetes/k0s/k0s-config.yaml.j2 | 4 ++++ 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/bootstrap/tasks/validation/github.yaml b/bootstrap/tasks/validation/github.yaml index b5efeef6..a5ebe34c 100644 --- a/bootstrap/tasks/validation/github.yaml +++ b/bootstrap/tasks/validation/github.yaml @@ -16,7 +16,7 @@ fail_msg: Github user {{ bootstrap_github_username }} does not exist - name: Query Github repo - when: (not ci_test | default(false)) or (not bootstrap_private_github_repo | default(false)) + when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) ansible.builtin.uri: url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} timeout: 5 @@ -25,14 +25,14 @@ register: result - name: Check if repo exists - when: (not ci_test | default(false)) or (not bootstrap_private_github_repo | default(false)) + when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) ansible.builtin.assert: that: result.json.full_name == bootstrap_github_username + '/' + bootstrap_github_repository_name success_msg: Github repo {{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} exists fail_msg: Github repo {{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} does not exist - name: Query Github repo branch - when: (not ci_test | default(false)) or (not bootstrap_private_github_repo | default(false)) + when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) ansible.builtin.uri: url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }}/branches/{{ bootstrap_github_repository_branch | default('main', true) }} timeout: 5 @@ -41,7 +41,7 @@ register: result - name: Check if repo branch exists - when: (not ci_test | default(false)) or (not bootstrap_private_github_repo | default(false)) + when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) ansible.builtin.assert: that: result.json.name == bootstrap_github_repository_branch | default('main', true) success_msg: Github repo branch {{ bootstrap_github_repository_branch | default('main', true) }} exists diff --git a/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 b/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 index ba822477..7f4b30ea 100644 --- a/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 +++ b/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 @@ -9,11 +9,8 @@ k3s_release_version: "v1.29.0+k3s1" k3s_install_hard_links: true k3s_become: true -#% if bootstrap_nodes.master | length > 1 %# k3s_etcd_datastore: true -#% else %# -k3s_etcd_datastore: false -#% endif %# +k3s_use_unsupported_config: true k3s_registration_address: "{{ kube_api_addr }}" # /var/lib/rancher/k3s/server/manifests k3s_server_manifests_templates: diff --git a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 index 9ad0c019..192af337 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 @@ -103,11 +103,7 @@ spec: regex: "(apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|attachdetach_controller|authenticated_user|authentication|cronjob_controller|disabled_metric|endpoint_slice|ephemeral_volume|garbagecollector_controller|get_token|go|hidden_metric|job_controller|kubernetes_build|kubernetes_feature|leader_election|node_collector|node_ipam|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|pv_collector|registered_metric|replicaset_controller|rest_client|retroactive_storageclass|root_ca|running_managed|scrape_duration|scrape_samples|scrape_series|service_controller|storage_count|storage_operation|ttl_after|volume_operation|workqueue)_(.+)" #% endif %# kubeEtcd: - #% if bootstrap_nodes.master | length > 1 %# enabled: true - #% else %# - enabled: false - #% endif %# endpoints: *endpoints kubeScheduler: enabled: true diff --git a/bootstrap/templates/kubernetes/k0s/k0s-config.yaml.j2 b/bootstrap/templates/kubernetes/k0s/k0s-config.yaml.j2 index e00c30de..1f9cf910 100644 --- a/bootstrap/templates/kubernetes/k0s/k0s-config.yaml.j2 +++ b/bootstrap/templates/kubernetes/k0s/k0s-config.yaml.j2 @@ -67,6 +67,10 @@ spec: extraArgs: # Required to monitor kube-scheduler with kube-prometheus-stack bind-address: "0.0.0.0" + storage: + etcd: + extraArgs: + listen-metrics-urls: http://0.0.0.0:2381 # Required to monitor etcd with kube-prometheus-stack api: sans: - "#{ bootstrap_kube_api_addr }#"