Zum Hauptinhalt springen

Kubernetes

Erstellung von einem Kubernetes Cluster

Nutzung von einem Kubernetes Cluster

Web Terminal

Kubeconfig

Das Credential Plugin gardenlogin sowie die CLI für Gardener und kubelogin muss vorab installiert werden.

# Homebrew (macOS and Linux)
brew install gardener/tap/gardenctl-v2
brew install gardener/tap/gardenlogin
brew install int128/kubelogin/kubelogin

# Chocolatey (Windows)
choco install gardenctl-v2
choco install gardenlogin
choco install kubelogin

Eine personalisierte Kubeconfig für ein Projekt PROJECT kann von https://dashboard.okeanos.tech/account?namespace=garden-PROJECT herunterladen und in einer lokalen Datei in ~/.kube abgelegt werden. Zum Beispiel in ~/.kube/garden-okeanos.

Anschliessend wird diese Konfiguration mit gardenctl bekannt gemacht.

$ gardenctl config set-garden okeanos --kubeconfig "~/.kube/garden-okeanos"
Successfully configured garden "okeanos"

Das vorherige Kommando erstellt die Datei ~/.garden/gardenctl-v2.yaml mit folgendem Inhalt:

gardens:
- identity: okeanos
kubeconfig: ~/.kube/garden-okeanos

Die Kubeconfig für ein Kubernetes Cluster CLUSTER in einem Projekt PROJECT ist unter Access bei Kubeconfig - Gardenlogin abgelegt. Diese Kubeconfig herunterladen (oder den Inhalt kopieren) und in einer lokalen Datei ablegen. Zum Beispiel in ~/.kube/config-pfee6i4v2j wenn der Name des Clusters pfee6i4v2j ist.

info

Wenn mehrere Projekte genutzt werden und dadurch bedingt mehrere Einträge in ~/.garden/gardenctl-v2.yaml vorhanden sind ist es wichtig in dieser Kubeconfig eine Änderung vorzunehmen. Der Eintrag gardenClusterIdentity ist per Default auf okeanos gesetzt und muss entsprechend angepasst werden. Wenn z.B. eine weiterer Eintrag demo in ~/.garden/gardenctl-v2.yaml vorhanden ist und genutzt werden soll dann wird gardenClusterIdentity entsprechend auf gardenClusterIdentity: demo geändert.

Anschliessend kann z.B. kubectl wie gewohnt verwendet werden nachdem die Kubeconfig wie gewohnt per KUBECONFIG Umgebungsvariable bekannt gemacht wurde.

$ export KUBECONFIG=~/.kube/config-pfee6i4v2j
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
shoot--PROJECT--CLUSTER-worker-g096a-z1-758bb-rmdfh Ready <none> 77m v1.27.9
shoot--PROJECT--CLUSTER-worker-iaz3a-z1-6c9cd-jx84f Ready <none> 87m v1.27.9