Files
home-cluster/bootstrap/templates/kubernetes/k0s/k0sctl.yaml.j2
T
Devin Buhl ba83e9a3c3 feat: add spegel to core components (#1225)
* feat: add spegel to core components

Signed-off-by: Devin Buhl <devin@buhl.casa>

* downgrade: csi-smb-driver

Signed-off-by: Devin Buhl <devin@buhl.casa>

* more: change to smb

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 19:24:38 -05:00

116 lines
3.6 KiB
YAML

#% 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/default.toml /etc/k0s/containerd.d/default.toml
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 | 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:
#% if bootstrap_kube_api_addr %#
- "#{ bootstrap_kube_api_addr }#"
#% endif %#
#% for item in bootstrap_kube_additional_tls_sans %#
- "#{ item }#"
#% endfor %#
#% for item in bootstrap_nodes.master %#
- "#{ item.address }#"
- "#{ item.name }#"
#% 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 %#