Files
home-cluster/bootstrap/templates/kubernetes/k0s/k0sctl.yaml.j2
T
2024-01-29 15:58:56 -05:00

94 lines
2.6 KiB
YAML

---
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 }#"
#% if item.controller %#
installFlags:
- --disable-components=metrics-server
- --no-taints
#% endif %#
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.14.6
namespace: kube-system
values: |2
#% filter indent(width=18, first=True) %#
#% include 'partials/cilium-values-init.partial.yaml.j2' %#
#% endfilter %#