Rancher 2.0 CLI
Rancher-CLI erlaubt Steuerung der Rancher-Umgebung in der Shell.
Token
Um sich über die CLI mit Rancher zu verbinden, muss ein Login mit Hilfe eines API-Keys durchgeführt werden. Um einen Key zu generieren müssen folgende Schritte befolgt werden:
- Klick auf den Avatar oben rechts
- Klick auf "API & Keys"
- Klick auf "Add Key"
- Beschreibung und Ablaufdatum bestimmen
- Klick auf "Create"
- Eine Seite mit dem Key und zusätzlichen Informationen ("API Endpoint", "Access Key", "Secret Key" und "Bearer Token") wird eigeblendet. Die Infromationen müssen vor dem Schließen der Seite gesichert werden, da sie nicht wiederholt angezeigt werden können.
Login
Für die Nutzung der CLI wird der "Bearer Token" und der "API Endpoint" benötigt.
Login an der API kann erfolgen mit $ ./rancher login <API_ENDPOINT> --token <BEARER_TOKEN>
Das Projekt kann ausgewählt werden mit $ ./rancher context switch
. In meinem Fall gibt es nur ein Projekt:
INFO[0000] Only 1 project available: Default
INFO[0000] Setting new context to project Default
INFO[0000] Saving config to /home/marek/.rancher/cli2.json
Kubectl
Um Workloads zu verwalten muss parallel zur Rancher-CLI Kubectl installiert sein. Auf Ubuntu ist die Installation sehr einfach:
$ sudo snap install kubectl --classic
Nun kann man Kubectl über die Rancher-CLI aufrufen. Für weitere Befehle übernimmt Kubectl die Verbindung und Authentifizierung am Rancher aus den Einstellungen, die wir im Abschnitt "Login" vorgenommen haben.
Anzeige aller Pods:
$ rancher kubectl get pods
NAME READY STATUS RESTARTS AGE
test-5cf546rr9f-9xj9k 1/1 Running 0 3d
Ein neues Deployment starten:
$ rancher kubectl run nginx --image nginx
deployment.apps/nginx created
Pods nochmal anzeigen:
$ rancher kubectl get pods
test-5cf546rr9f-9xj9k 1/1 Running 0 3d
nginx-65899c769f-xsrkn 1/1 Running 0 2m
Fazit
Mit der Rancher-CLI kann man Basis-Einstellungen im Rancher verwalten. Für die meisten Aufgaben muss man aber auf Kubectl zurückgreifen.
Quellen:
https://rancher.com/docs/rancher/v2.x/en/concepts/cli-configuration/
https://rancher.com/docs/rancher/v2.x/en/tasks/user-settings/api-keys/