Tools für das Management von Kubernetes-Clustern

17 Mär 2023 Lesezeit: 2 Minuten

Wenn du mit Kubernetes-Clustern arbeitest, weißt du wahrscheinlich, wie frustrierend es sein kann, die Kontrolle über dein System zu behalten. Aber keine Sorge, es gibt Tools, die dir das Leben leichter machen können!

Kubeval

Kubeval ist ein Tool, das deine Kubernetes-Konfiguration prüft, bevor du sie deployst. Es hilft dir, potenzielle Probleme im Voraus zu erkennen und Stress zu vermeiden. Es ist ein einfaches und effektives Werkzeug für alle, die Kubernetes benutzen.

Kube-capacity

Kube-capacity ist ein nützliches Tool für die Verwaltung von Kubernetes-Clustern. Es hilft dir, den Speicherbedarf deiner Pods und Nodes zu analysieren, damit du besser planen und sicherstellen kannst, dass dein Cluster immer genug Kapazität hat.

Kube-Tools

Es gibt noch weitere Tools, die dir bei der Verwaltung von Kubernetes-Clustern helfen können. Hier sind zwei weitere nützliche Tools:

  • Kubectx: Ein Tool zum schnellen Wechseln zwischen verschiedenen Kubernetes-Clustern und -Namensräumen.
  • Kube-shell: Eine Shell-Erweiterung, die es dir erleichtert, mit Kubernetes-Objekten zu arbeiten und Informationen abzurufen.

Weitere Tools

Es gibt noch viele weitere Tools, die dir bei der Verwaltung von Kubernetes-Clustern helfen können, wie zum Beispiel:

  • Kubernetes Dashboard: Ein web-basiertes Dashboard für Kubernetes, das dir eine grafische Oberfläche bietet, um deinen Cluster zu verwalten.
  • Helm: Ein Paketmanager für Kubernetes, der es dir erleichtert, Anwendungen auf deinem Cluster zu installieren, zu aktualisieren und zu verwalten.

Terraform Helm Provider und das "could not download chart" Problem

22 Dez 2022 Lesezeit: ~1 Minute

Manchmal, wenn ich so richtig voller Freude darüber bin, dass ich alles aus einer Hand bekomme, dann werde ich gestoppt von so richtig bekloppten Fehlern.

So auch bei der Verwendung des Helm Providers in Terraform. Es ist ja wirklich super, wenn man nicht das Toolset wechseln muss, um sein Zeug zu erledigen.

Terraform ist auch so eine geniale Software, dass ich fast alles damit "as code" machen kann. Unter anderem auch Helm deployments - was super ist, dann so verlasse ich zum einen nicht das Ökosystem, zum anderen brauche ich informationen nicht weitergeben.

Doch was ist, wenn du alles richtig zu machen scheinst, aber ein Terraform apply dir den Dienst mit einer Fehlermeldung wie

helm_release.nginx_ingress: Creating...
╷
│ Error: could not download chart

quittiert?

Dann, mein lieber Freund, hast du vermutlich einfach kacke in deinem lokalen Helm Repo Dingens. Denn wenn man ein HELM_DEBUG=1 in den Umgebungsvariablen zeigt die dann, was Sache ist. In meinem Fall war es ein kaputtes repo von irgendeiner mega-software. Repo gelöscht, alles geil

Hat mich auch nur 5 Stunden gekostet... oder so!


Graylog in Rancher aus dem Catalog

30 Sep 2020 Lesezeit: 3 Minuten

Die Zeit ist wunderbar. Alles ist easy - alles ist einfach. Ein "klick" und schon läuft jegliche Anwendung. Rubust, stabil und ohne jegliche Ahnung von dem was man dafür machen müsste um es selbst zu installieren.

So zumindest erlebe ich die aktuelle Wahrnehmung dank der Angebote von Bezahldiensten wie AWS, Azure und Co.

Ich nutze ja auch gern die Abstraktionebenen - will aber wissen was da los ist. So wäre ich sonst vermutlich aufgeschmissen gewesen, als ich versuchte ein Graylog innerhalb von Rancher mit Hilfe der Helm-Cataloge zu installieren und die WebUI hinter dem nginx-Ingress zu verstecken.

Denn zunächst sieht es ja wunderbar einfach aus: Katalog auswählen, Graylog suchen, ein bisschen anpassen und deployen. Ging auch soweit. nur wollte die WebUI nicht so recht.

Zuerst hatte ich mixed content, dann "We are experiencing problems connecting to the Graylog server running on http://XXXXX". Das Internet sagt einem dann, das man irgendie den Port nach aussen öffnen müsste - was natürlich vollkommender quatsch ist. Zumal ich ja eine SSL-Terminierung haben will.

Lange Rede, kurzer Sinn: Das Graylog Helm-Chart ist kaputt. Dort steht nämlich geschrieben, das man einfach einen Wert für 'graylog.externalUri' setzen muss und schon ist alles super. Leider generiert das Chart nur quatsch, sodass man den Wert manuell überschreiben muss mit

  graylog: 
    config: "http_external_uri = https://mein-super-duper.server/"

Damit wird der vom Chart generierte Wert in der Configmap überschrieben (weil einfach zuletzt angefügt) und schon klappt es mit dem ingress.

Komplett sieht das dann so aus:

---
  graylog: 
    config: "http_external_uri = https://mein-super-duper.server/"
    replicas: 2
    rootUsername: admin
    rootPassword: ABSOLUT-GEHEIMES-KENNWORT
    input:
      udp:
        service:
          type: ClusterIP
        ports:
          - name: syslog
            port: 514
    nodeSelector: 
      node-role.kubernetes.io/worker: "true"
    persistence: 
      accessMode: "ReadWriteOnce"
      enabled: "true"
      size: "50"
      storageClass: "longhorn"
    ingress:
      extraPaths[0]:
        backend:
          serviceName: ssl-redirect
          servicePort: use-annotation
          path: "/*"
      enabled: true
      hosts: 
        - mein-super-duper.server

Deshalb hab ich auch gern Ahnung von den Tools und klicke zu allerletzt auf irgendwelche Buttons... die Lösungen sind viel logischer.