Netdata
Netdata beitet ähnlich zu dem Gespann Prometheus/Grafana eine umfassende Monitoring Lösunng an.
Installation
Die Installation von Netdata ist unter dem Kubernetes Cluster mit K3D mit Fallstricken versehen.
Nach erfolgreicher Basisinstallation stellt sich Netdata wie folgt vor:
Worauf muss man nun genau bei der Installation achten? Wer keine weiteren Anpassungen bei dem Kreieren des K3D Cluster vornimmt, der installiert automatisch Traefik v1.7 in den Cluster. Dieses verursacht mit dem bereitgestellten Helm Chart Probleme, da es auf NginX als Ingress-Controller ausgerichtet ist.
Traefik als Ingress-Controller verwenden
Unter Kubernetes lässt sich der zu verwendende Ingress-Controller bestimmen. Dazu muss die kubernetes.io/ingress.class auf traefik gesetzt werden.
Mit Helm 3 hat sich die Syntax geändert, sodass viele Informationen die man im Internet zu dem Thema findet schlicht veraltet sind und somit zu einer Fehlermeldung für. Wie kann man nun die ingress.class mit Helm setzen?
--set ingress.annotations."kubernetes\.io/ingress\.class"=traefik
Es muss die Annotation in Anführungsstrichen gesetzt werden und Punkte müssen mit dem “\” Escaped werden. Also wird somit aus kubernetes.io/ingress.class=traefik folgendes “kubernetes.io/ingress.class”=traefik
DockerHub Registry verwenden
Da es beim 1. Test Probleme mit der Registry gab, habe ich kurzerhand die offizielle Docker Hub Registry verwendet. Diese wird über registry.hub.docker.com angesprochen. Die Registry lässt sich über image.registry steuern.
--set image.registry=registry.hub.docker.com
Danach konnte das image sofort heruntergeladen werden.
Das Repo zu Helm hinzufügen
Die Helm Charts sind auf GitHub unter https://netdata.github.io/helmchart/ gehostet.
helm repo add netdata https://netdata.github.io/helmchart/
helm repo update
Zusammenfassung
Faskst man alles zusammen ergibt sich folgende Befehlsreihenfolge:
helm repo add netdata https://netdata.github.io/helmchart/
helm repo update
helm install netdata netdata/netdata \
-n netdata \
--create-namespace \
--set ingress.hosts[0]=netdata.k3d.duckdns.org \
--set image.registry=registry.hub.docker.com \
--set ingress.annotations."kubernetes\.io/ingress\.class"=traefik
Nach dem Deployment kann man Netdata unter https://netdata.k3d.duckddns.org aufrufen,