docs: Add README with node configuration
This commit is contained in:
@@ -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`.
|
||||||
Reference in New Issue
Block a user