← Katalog
E I A C

Reloader

App-as-Code

Kontroler Kubernetes, który przeładowuje Pody po zmianie ConfigMap/Secret - koniec dryfu konfiguracji jako kod.

★ 10 000 Apache-2.0 #app #kubernetes #configuration #gitops

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.