
Kubernetes ist allgegenwärtig und Continuous Delivery längst Standard – das Ausrollen neuer Versionen läuft automatisierter denn je. Doch was, wenn eine fehlerhafte Version live geht? Wie viel Zeit und Aufwand kostet das Rollback auf die letzte funktionierende Version?
kuberbs (Kubernetes Rollback System) setzt genau hier an: Das Tool überwacht Ihre Kubernetes-Deployments – übersteigt die Fehlerrate (anhand benutzerdefinierter Metriken) einen festgelegten Schwellenwert, wird das Deployment automatisch auf die vorherige Version zurückgerollt.
Aktuell unterstützt kuberbs Stackdriver- und Datadog-Metriken als Indikator für die Fehlerrate. Weitere Integrationen mit anderen Monitoring-Systemen sind in Planung.
kuberbs ist in Go geschrieben und läuft als Pod im kube-system-Namespace Ihres GKE-Clusters – ganz ohne Anpassungen am Cluster selbst.
kuberbs nutzt CRD (Custom Resource Definition) und agiert als Operator: Es verwaltet, welche Deployments überwacht werden, welche Metriken zum Einsatz kommen und welche Schwellenwerte gelten.
apiVersion
:"doit.com/v1" kind
: Rbsmetadata
:name
: my-rbs-examplespec
:watchperiod
: 5metricssource
: stackdrivernamespaces
: -name
: defaultdeployments
: -deployment
:name
: hello-kubernetes-app#Stackdriver-Metrik metric
: logging.googleapis.com/user/hello-kubernetes-app-errorsthreshold
: 1 -deployment
:name
: kubernetes-app-2# DataDog-Metrik metric
: gcp.container.cpu.usage_time{*}threshold
: 85 -name
: kube-systemdeployments
: -deployment
:name
: kube-dnsmetric
: logging.googleapis.com/user/digthreshold
: 30Konfiguriert wird über Umgebungsvariablen, die in einer ConfigMap von kuberbs hinterlegt sind.
apiVersion
: v1data
:KUBERBS_CHECKMETRICSINTERVAL
:"10" KUBERBS_APIKEY
:"" KUBERBS_APPKEY
:"" KUBERBS_DEBUG
:"false" kind
: ConfigMapmetadata
:labels
:app
: kuberbsname
: kuberbs-confignamespace
: kube-systemKubeRBS in Aktion sehen Sie in diesem kurzen Video:
kuberbs steht noch am Anfang – und wir haben Großes damit vor. Wer mitmachen und beitragen möchte: Wir suchen aktiv Contributors, die uns dabei helfen, das Tool weiterzuentwickeln und mehr Use Cases abzudecken.
Lust auf mehr? Schauen Sie in unserem Blog vorbei oder folgen Sie Aviv auf Twitter.