From 50e0a5f77c3ad4d849e013406f80699875abcd93 Mon Sep 17 00:00:00 2001 From: Karan Parashar Date: Wed, 30 Sep 2026 02:02:31 +0530 Subject: [PATCH] docs: Add README with node configuration --- README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..0ef6183 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# 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: + +```yaml +# /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: + +```yaml +# /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`.