29-01-2020 / blog / Jeroen van de Lockand

Wisselen tussen namespaces/contexts in Kubernetes en Openshift

Tijdens mijn werk op Openshift of Kubernetes clusters moet ik regelmatig  wisselen tussen meerdere clusters, bijvoorbeeld wisselen van een development cluster naar staging, acceptatie of productie cluster.

Ook ben ik binnen een cluster regelmatig aan het wisselen tussen namespaces. Om niet iedere keer bij het wisselen een 'lang' commando in te typen. Zoals bijvoorbeeld: 

 

kubectl config set-context --current --namespace=<insert-namespace-name-here>

 

Heb ik een oplossing gevonden namelijk blendle/kns. Hieronder laat ik zien hoe je dit installeert en gebruikt.

 

Installatie

De installatievoorwaarden zijn:

- kubectl dient geïnstalleerd zijn

- fzf dient geïnstalleerd zijn (sudo dnf install fzf #Fedora 26+)

 

ktx

sudo curl https://raw.githubusercontent.com/blendle/kns/master/bin/ktx -o /usr/local/bin/ktx && chmod +x $_

kns

sudo curl https://raw.githubusercontent.com/blendle/kns/master/bin/kns -o /usr/local/bin/kns && chmod +x $_

Gebruik

ktx

Typ ktx voor een lijst met alle contexten en navigeer met de pijltjes toetsen.

Op de onderstaande foto zie je een voorbeeld van hoe dit eruit kan zien.

kns

Typ kns om een lijst te zien met de namespaces waar je toegang tot hebt.

Op onderstaande foto ben ik op mijn test cluster ingelogd als de kube-admin gebruiker die toegang heeft tot alle namespaces in de omgeving.

Conclusie

ktx maakt het beheren van meerdere clusters makkelijker en het maakt niet uit of dit een Kubernetes cluster is of een Openshift Container Platform.

 

Met kns is het wisselen tussen namespaces binnen een cluster ontzettend makkelijk en snel.