Drei Kubernetes Clients

In diesem Artikel zeige ich dir drei Möglichkeiten wie du dich mit deinem Cluster verbinden kannst – Kubectl Lens und Kubenav.

Während der K3s-Installation wird eine kubeconfig-Datei in ‚/etc/rancher/k3s/k3s.yaml‘ geschrieben. Du benötigst diese Datei, um dich mit einem Kubernetes-Client zu verbinden. Deine kubeconfig sieht in etwa so aus:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0...
    server: https://127.0.0.1:6443
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    client-certificate-data: LS...
    client-key-data: LS...

Wenn du dich von einem anderen Rechner aus verbinden willst, musst du den Server-Endpunkt anpassen und einen Hostnamen/eine IP-Adresse angeben, unter dem der Cluster erreichbar ist. Wenn auf dem Clusterknoten eine Firewall aktiv ist, musst du eventuell zuerst den Port 6443/tcp öffnen (siehe hier).

Kubectl

Der gängigste Weg, sich mit dem Kubernetes-Cluster zu verbinden, ist der Befehl ‚kubectl‘. Der Befehl wird bei der Installation von K3s automatisch auf dem Clusterknoten installiert.

Um dich mit dem Cluster zu verbinden, musst du kubectl mitteilen, wo die kubeconfig zu finden ist. Dies kannst du tun, indem du entweder die kubeconfig Datei als Option angibst, eine Umgebungsvariable setzt oder sie nach ‚~/.kube/config kopierst – was immer dir besser passt:

# Angabe der kubeconfig Datei als Option,
kubectl --kubeconfig=/etc/rancher/k3s/k3s.yaml get nodes
# <output>

# eine Umgebungsvariable setzen oder
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes
# <output>

# Kubeconfig nach '~/.kube/config' kopieren
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
kubectl get nodes
# <output>

Wenn die Verbindung klappt kannst du die folgenden beiden Befehle ausprobieren.

> kubectl get nodes
NAME STATUS ROLES AGE VERSION
vmxx28193.bydddddserver.net Ready control-plane,master 255d v1.20.0+k3s2


> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system local-path-provisioner-58fb86bdfd-r5zcp 1/1 läuft 0 2m10s
kube-system metrics-server-6d684c7b5-2g7wq 1/1 Läuft 0 2m10s
kube-system helm-install-traefik-zv6bp 0/1 Beendet 0 2m9s
kube-system svclb-traefik-98bgg 2/2 Läuft 0 107s
kube-system coredns-6c6bb68b64-hr2dv 1/1 Läuft 0 2m10s
kube-system traefik-7b8b884c8-qqhgf 1/1 Läuft 0 107s

Der erste Befehl zeigt dir die Nodes, die Teil deines Clusters sind, während der zweite Befehl die deployten Pods anzeigt. Für weitere Befehle empfehle ich dir einen Blick auf den kubectl Cheet Sheet zu werfen.

Lens Kubernetes IDE

Wenn du eine grafische Oberfläche zur Verwaltung deines Clusters bevorzugst, solltest du dir unbedingt Lens anschauen. Es erleichtert dir die Verwaltung deiner Workloads, ConfigMaps, Secrets, Services, Ingresses und gibt dir einen besseren Überblick über den Cluster. Das Beste daran ist, dass es komplett kostenlos und Open Source ist.

„Lens provides the full situational awareness for everything that runs in Kubernetes. It’s lowering the barrier of entry for people just getting started and radically improving productivity for people with more experience.“

https://github.com/lensapp/lens/

Lens ist für Windows, Linux und MacOS verfügbar und kann von https://github.com/lensapp/lens/ heruntergeladen werden.

Um einen eigenen Cluster hinzuzufügen, navigierst du einfach zu File / Add Cluster und hinterlegst deine Kubeconfig.

Hinzufügen eines Clusters
Liste der Pods

Kubenav

Kubenav ist ebenfalls ein grafisches Kubernetes-Tool. Das Beste an Kubenav ist, dass es für mobile Android- und iOS-Geräte verfügbar ist, sodass du deinen Kubernetes-Cluster auch von unterwegs) verwalten kannst. Kubenav ist ebenfalls Open Source und im iOS App Store und Play Store erhältlich. Du kannst auch die Desktop-Version aus dem Github Repository herunterladen.

Nach der Installation navigiere zu ‚Cluster‘ und drücke das Pluszeichen, um einen Cluster hinzuzufügen. Scrolle nach unten zu ‚Import Kubeconfig‘, füge den Inhalt in das Textfeld ein und drücke auf ‚Hinzufügen‘.

Screenshot von Rico Berger

Hinweis: Der Kubernetes API Port (TCP/6443) muss für dein Handy verfügbar sein. Wenn du diesen Port nicht für das Internet öffnen willst, kannst du dich über VPN mit dem Cluster verbinden. Siehe meine Anleitung zur Einrichtung von Wireguard unter Ubuntu.

Weiterführende Artikel

Schreibe einen Kommentar