Reloader
App-as-Code
Kontroler Kubernetes, który przeładowuje Pody po zmianie ConfigMap/Secret - koniec dryfu konfiguracji jako kod.
Reloader zamyka typową dziurę w GitOps: zmieniasz ConfigMap albo Secret w repo, zmiana trafia do klastra - ale działające Pody dalej trzymają starą wartość, bo Kubernetes sam ich nie restartuje. Reloader obserwuje wskazane zasoby i po ich zmianie wykonuje rolling restart powiązanego Deployment/StatefulSet/DaemonSet. Efekt: stan runtime nadąża za kodem konfiguracji, bez ręcznego „kubectl rollout restart” i bez cichego dryfu między tym, co w repo, a tym, co faktycznie działa.
Kiedy używać
- Pracujesz w GitOps i chcesz, by zmiana ConfigMap/Secret automatycznie przeładowała aplikację.
- Zależy Ci na eliminacji dryfu: to, co w repo, ma odpowiadać temu, co w Podzie.
- Nie chcesz ręcznie restartować obciążeń po każdej zmianie konfiguracji.
Przykład użycia
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
annotations:
reloader.stakater.com/auto: "true" # restart po zmianie powiązanych ConfigMap/Secret
spec:
template:
spec:
containers: [{ name: web, envFrom: [{ configMapRef: { name: web-config } }] }]
Warto wiedzieć
- Domyka pętlę GitOps obok Argo CD i Flux: dostawa manifestów + faktyczne przeładowanie runtime.
- Sekrety wstrzykiwane np. przez argocd-vault-plugin z Vault też wymagają restartu po rotacji - tu Reloader robi to automatycznie.
- Apache-2.0, lekki kontroler, w pełni self-hostowalny.