66d63f721760034b58cf5c641210f13e134ebb96
Charts: - kube-prometheus-stack 91.8.2 -> 92.3.0 - traefik 41.6.0 -> 41.7.1 - loki 18.13.7 -> 18.15.1 - alloy 1.13.0 -> 1.13.1 - sealed-secrets 2.19.1 -> 2.20.0 - cert-manager v1.21.1 -> v1.21.2 - cloudnative-pg 0.29.0 -> 0.29.1 - garage-ui 0.12.1 -> 0.13.0 Images: - argo-cd v3.5.2 -> v3.5.5 - jellyfin 12.0 -> 12.2 - qbittorrent 5.2.3_v2.0.15-ls478 -> 5.2.4_v2.0.15-ls480 - busybox (garage init) 1.37.0 -> 1.38.0
gitops
Argo CD manifests for a single-node k3s cluster.
Node configuration
These live on the node, not in this repo, so reapply them when rebuilding it.
k3s
The bundled Traefik is replaced by the Argo CD-managed one, which is exposed
via externalIPs rather than ServiceLB. Control-plane metrics endpoints are
exposed for Prometheus:
# /etc/rancher/k3s/config.yaml
disable:
- traefik
- servicelb
kube-controller-manager-arg:
- bind-address=0.0.0.0
kube-scheduler-arg:
- bind-address=0.0.0.0
kube-proxy-arg:
- metrics-bind-address=0.0.0.0
Image garbage collection
Kubelet only prunes images once the disk crosses 85%, so unused images pile up on a large disk. Also expire images that haven't been used in 7 days:
# /var/lib/rancher/k3s/agent/etc/kubelet.conf.d/50-image-gc.conf
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
imageMaximumGCAge: 168h
Apply with sudo systemctl restart k3s.
Languages
Shell
100%