#% if bootstrap_distribution == 'k0s' %# --- apiVersion: k0sctl.k0sproject.io/v1beta1 kind: Cluster metadata: name: home-kubernetes spec: hosts: #% for item in bootstrap_nodes.master %# - role: controller+worker ssh: address: "#{ item.address }#" user: "#{ item.username }#" installFlags: - --disable-components=metrics-server - --no-taints #% if loop.first %# files: &files - name: system-config src: resources/hooks/ dstDir: /home/#{ item.username }#/k0s/hooks/ perm: 0644 user: root group: root - name: containerd-config src: resources/containerd/ dstDir: /home/#{ item.username }#/k0s/containerd/ perm: 0644 user: root group: root #% else %# files: *files #% endif %# #% if loop.first %# hooks: &hooks apply: before: - sudo bash /home/#{ item.username }#/k0s/hooks/apply-system.sh - sudo mv /home/#{ item.username }#/k0s/containerd/unprivileged-ports.toml /etc/k0s/containerd.d/unprivileged-ports.toml #% if spegel|default({}) and spegel.enabled|default(false) %# - sudo mv /home/#{ item.username }#/k0s/containerd/spegel.toml /etc/k0s/containerd.d/spegel.toml #% endif %# reset: before: - sudo bash /home/#{ item.username }#/k0s/hooks/reset-cilium.sh after: - sudo bash /home/#{ item.username }#/k0s/hooks/reset-system.sh #% else %# hooks: *hooks #% endif %# #% endfor %# #% if bootstrap_nodes.worker|default([]) | length > 0 %# #% for item in bootstrap_nodes.worker %# - role: worker ssh: address: "#{ item.address }#" user: "#{ item.username }#" files: *files hooks: *hooks #% endfor %# #% endif %# k0s: # renovate: datasource=github-releases depName=k0sproject/k0s version: "v1.28.5+k0s.0" dynamicConfig: false config: spec: telemetry: enabled: false controllerManager: extraArgs: # Required to monitor kube-controller-manager with kube-prometheus-stack bind-address: "0.0.0.0" scheduler: 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 }#" #% if bootstrap_kube_api_hostname|default('') %# - "#{ bootstrap_kube_api_hostname }#" #% endif %# #% for item in bootstrap_nodes.master %# #% if item.address != bootstrap_kube_api_addr %# - "#{ item.address }#" #% endif %# #% if (not bootstrap_kube_api_hostname|default('')) or (item.name != bootstrap_kube_api_hostname|default('')) %# - "#{ item.name }#" #% endif %# #% endfor %# network: podCIDR: "#{ bootstrap_cluster_cidr.split(',')[0] }#" serviceCIDR: "#{ bootstrap_service_cidr.split(',')[0] }#" provider: custom kubeProxy: disabled: true nodeLocalLoadBalancing: enabled: true type: EnvoyProxy extensions: helm: repositories: - name: cilium url: https://helm.cilium.io charts: - name: cilium chartname: cilium/cilium # renovate: datasource=github-releases depName=cilium/cilium version: "1.14.5" namespace: kube-system values: |2 #% filter indent(width=18, first=True) %# #% include 'partials/cilium-values-init.partial.yaml.j2' %# #% endfilter %# #% endif %#