feat!: for a single master node do not use etcd and add option to not use kube-vip

Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
Devin Buhl committed 2023-12-29 19:21:26 -05:00
1 parent 5d4b0f52c3
commit ec8c19a24e
5 files changed
+63 -11

No files matched your search

@@ -61,7 +61,7 @@ data:
regex: (apiserver_response_sizes_bucket|apiserver_watch_events_sizes_bucket)
kubeControllerManager:
enabled: true
endpoints:
endpoints: &endpoints
{% for item in bootstrap_nodes.master %}
- {{ item.address }}
{% endfor %}
@@ -72,17 +72,15 @@ data:
sourceLabels: ["__name__"]
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)_(.+)"
kubeEtcd:
{% if bootstrap_nodes.master | length > 1 %}
enabled: true
endpoints:
{% for item in bootstrap_nodes.master %}
- {{ item.address }}
{% endfor %}
{% else %}
enabled: false
{% endif %}
endpoints: *endpoints
kubeScheduler:
enabled: true
endpoints:
{% for item in bootstrap_nodes.master %}
- {{ item.address }}
{% endfor %}
endpoints: *endpoints
serviceMonitor:
metricRelabelings:
# Remove duplicate labels provided by k3s
@@ -9,13 +9,18 @@
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
k3s_use_unsupported_config: true
{% else %}
k3s_etcd_datastore: false
{% endif %}
k3s_registration_address: "{% raw %}{{ kube_vip_addr }}{% endraw %}"
k3s_server_manifests_urls:
{% if bootstrap_kube_vip_enabled | default(true) %}
# Kube-vip RBAC
- url: https://raw.githubusercontent.com/kube-vip/kube-vip/main/docs/manifests/rbac.yaml
filename: kube-vip-rbac.yaml
{% endif %}
# Essential Prometheus Operator CRDs (the rest are installed with the kube-prometheus-stack helm release)
- url: https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
filename: custom-prometheus-podmonitors.yaml
@@ -32,6 +37,8 @@ k3s_server_manifests_templates:
- custom-cilium-l2.yaml.j2
{% endif %}
- custom-coredns-helmchart.yaml.j2
{% if bootstrap_kube_vip_enabled | default(true) %}
# /var/lib/rancher/k3s/agent/pod-manifests
k3s_server_pod_manifests_templates:
- kube-vip-static-pod.yaml.j2
{% endif %}