#jinja2: trim_blocks: True, lstrip_blocks: True --- # https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/ # https://github.com/PyratLabs/ansible-role-k3s k3s_control_node: true k3s_server: {% if bootstrap_ipv6_enabled | default(false) %} node-ip: "{% raw %}{{ ansible_host }},{{ ansible_default_ipv6.address }}{% endraw %}" {% else %} node-ip: "{% raw %}{{ ansible_host }}{% endraw %}" {% endif %} tls-san: - "{% raw %}{{ kubeapi_addr }}{% endraw %}" docker: false flannel-backend: "none" # This needs to be in quotes disable: - coredns # Disable coredns - replaced with Coredns Helm Chart - flannel # Disable flannel - replaced with Cilium Helm Chart - local-storage # Disable local-path-provisioner - replaced with democratic-csi - metrics-server # Disable metrics-server - installed with Flux - servicelb # Disable servicelb - replaced with Cilium Helm Chart - traefik # Disable traefik - replaced with ingress-nginx and installed with Flux disable-network-policy: true disable-cloud-controller: true disable-kube-proxy: true # Cilium uses eBPF write-kubeconfig-mode: "644" pause-image: registry.k8s.io/pause:3.9 secrets-encryption: true {% if bootstrap_ipv6_enabled | default(false) %} cluster-cidr: "{% raw %}{{ cluster_cidr }},{{ cluster_cidr_v6 }}{% endraw %}" service-cidr: "{% raw %}{{ service_cidr }},{{ service_cidr_v6 }}{% endraw %}" {% else %} cluster-cidr: "{% raw %}{{ cluster_cidr }}{% endraw %}" service-cidr: "{% raw %}{{ service_cidr }}{% endraw %}" {% endif %} etcd-expose-metrics: true # Required to monitor etcd with kube-prometheus-stack kube-controller-manager-arg: - "bind-address=0.0.0.0" # Required to monitor kube-controller-manager with kube-prometheus-stack kube-scheduler-arg: - "bind-address=0.0.0.0" # Required to monitor kube-scheduler with kube-prometheus-stack kube-apiserver-arg: - "anonymous-auth=true" # Required for HAProxy health-checks # TODO: Move these options to a kubelet config file kubelet-arg: - "image-gc-high-threshold=55" - "image-gc-low-threshold=50"