--- apiVersion: k0sctl.k0sproject.io/v1beta1 kind: Cluster metadata: name: home-kubernetes spec: hosts: {% for item in cluster.nodes.inventory %} {% if item.controller %} - role: controller+worker {% else %} - role: worker {% endif %} ssh: address: "{{ item.address }}" user: "{{ item.ssh_username }}" installFlags: {% if item.controller %} - --disable-components=metrics-server - --no-taints {% endif %} - --kubelet-extra-args="--image-gc-low-threshold=50 --image-gc-high-threshold=60" files: - name: bootstrap-scripts src: scripts hooks: apply: before: - bash ~/apply-system.sh "{{ item.name }}" {% if item.controller %} - bash ~/apply-kube-vip.sh {% endif %} reset: before: - bash ~/reset-cilium.sh after: - bash ~/reset-system.sh {% endfor %} k0s: # renovate: datasource=github-releases depName=k0sproject/k0s version: v1.29.1+k0s.0 dynamicConfig: false config: spec: telemetry: enabled: false controllerManager: extraArgs: bind-address: "0.0.0.0" scheduler: extraArgs: bind-address: "0.0.0.0" storage: etcd: extraArgs: listen-metrics-urls: http://0.0.0.0:2381 api: sans: {% if cluster.endpoint_vip %} - "{{ cluster.endpoint_vip }}" {% endif %} {% for item in cluster.tls_sans %} - "{{ item }}" {% endfor %} {% for item in controllers %} {% if item.controller %} - "{{ item.address }}" - "{{ item.name }}" {% endif %} {% endfor %} network: podCIDR: "{{ cluster.pod_network.split(',')[0] }}" serviceCIDR: "{{ cluster.service_network.split(',')[0] }}" provider: custom kubeProxy: disabled: true sLocalLoadBalancing: enabled: true type: EnvoyProxy extensions: helm: repositories: - name: cilium url: https://helm.cilium.io charts: - name: cilium chartname: cilium/cilium # renovate: datasource=helm depName=cilium repository=https://helm.cilium.io version: 1.15.0 namespace: kube-system values: |2 {% filter indent(width=18, first=True) %} {% include 'partials/cilium-values-init.partial.yaml.j2' %} {% endfilter %}