Het landschap van cloud native technologieën is zeer breed en divers. Zo bieden tientallen aanbieders hun tools aan die je op allerlei manieren ondersteunen. Hoe vind je je weg in deze tools? Engineers en architecten van True helpen je op weg. In deze serie delen we onze kennis met je over verschillende Kubernetes tools. 💡 Tip: lees ook de blog De Cloud Native Trail Map van CNCF (en welke aanvullingen True daarop heeft) voor het begin van je reis naar cloud native.
Welke commandline tools zijn er voor Kubernetes beschikbaar?
Er zijn allerlei tools beschikbaar die het werken met de commandline vereenvoudigen of veraangenamen. Voorbeelden van populaire keuzes en handige tools zijn:
kubectx
kubectx is een tool waarmee je kunt schakelen tussen verschillende clusters op kubectl. De tool is onder meer erg handig bij omgevingen die uit meerdere clusters bestaan en waar je eenvoudig wilt kunnen wisselen tussen verschillende clusters. Waar je bij kubectl hiervoor een reeks lange commando’s moet invoeren, doe je dit met behulp van kubectx met een eenvoudig kort commando. Werk je met een cluster met een lange naam? Dan kan je hieraan een alias toekennen zodat je nog eenvoudig kunt overschakelen naar dit cluster.
Kubech
Kubech is een tool die veel weg heeft van kubectx, maar enkele andere mogelijkheden biedt. Zo kun je de kubectl contexts en namespaces per shell en terminal configureren voor het beheren van meerdere clusters. Dit in tegenstelling tot kubectx, dat kubectl-context voor alle shells en terminals wijzigt. Je kunt Kubech combineren met andere tools zoals kubectx en kubens.
kubens
kubens is een handige tool voor het schakelen tussen Kubernetes namespaces binnen een cluster en voor het configureren van deze namespaces voor kubectl. Het gemak waarmee je dit doet, maakt de tool zeer aantrekkelijk. Wil je bijvoorbeeld overschakelen naar namespace ‘test’? Dan voer je hiervoor alleen het korte commando ‘kubens test’ in. Met behulp van het koppelteken ‘-‘ keer je terug naar de vorige namespace.
Autocompletion for kubectl
Autocompletion for kubectl is technisch gezien geen losse tool, maar een handig script voor kubectl. De functie vult je commando’s automatisch aan, wat veel voordelen biedt. Niet alleen bespaar je hierdoor tijd, ook hoef je minder vaak op een cheat sheet te kijken en voorkom je fouten. Het script is geen standaardonderdeel van kubectl en moet je los installeren.
kube-ps1
Werken in meerdere clusters en namespaces kan verwarrend zijn. Je loopt bijvoorbeeld het risico namespaces door elkaar te halen en per ongeluk in het verkeerde cluster te werken. kube-ps1 is handige tool die duidelijkheid schept door het continu weergeven van je huidige cluster en namespace. Je schakelt de tool voor je huidige sessie uit met behulp van het commando ‘kubeoff’, en weer in met behulp van ‘kubeon’.
kail
Voor de komst van Kubernetes bekeek je logbestanden vaak via het commando ‘tail’. Dit kan nog steeds, maar heeft met gebruik van Kubernetes meer voeten in aarde. Wat is bijvoorbeeld de juiste naam van een pod? Zeker bij deployments waarbij je meerdere replicas gebruikt, kan het vinden van de juiste pod lastig zijn. Kail is een tool die dit proces in belangrijke mate vereenvoudigt. Je kunt via de handige tool onder meer logbestanden opvragen voor alle containers van alle pods die overeenkomen met de opgegeven criteria. Zo kun je onder andere pods selecteren op basis van deployment, service of ReplicaSet.
k9s
K9s is een terminal-gebaseerde gebruikersinterface die je toegang geeft tot je Kubernetes-clusters. De tool geeft je clusters op overzichtelijke wijze weer, waardoor je deze eenvoudig kunt monitoren en beheren. Zo kun je onder meer de afhankelijkheden van resources bekijken of een overzicht opvragen van alle pods. Denk echter ook aan containerlogs. Gaat er iets fout? Dan helpt k9s je met het achterhalen van de bron van het probleem. Je kunt je eigen sneltoetsen instellen om nog efficiënter met k9s te kunnen werken.
Kubeswitch
Kubeswitch is een tool die het schakelen tussen contexts en namespaces zeer eenvoudig maakt. Het biedt hiervoor in de commandline tool een grafische methode, waarbij je uit een tekstboom de gewenste optie selecteert. kubeswitch communiceert direct met de Kubernetes API en is niet afhankelijk van kubectl. De tool is gericht op het werken met een groot aantal kubeconfig-bestanden, waarbij het gaat om honderden tot duizenden kubeconfigs.
Krew
Voor kubectl zijn een flink aantal plugins beschikbaar. Krew is een plugin manager die het werken met deze plugins vereenvoudigt. Je kunt via Krew onder meer nieuwe plugins voor kubectl ontdekken; meer dan tweehonderd plugins zijn via de plugin manager beschikbaar. Je kunt deze plugins direct vanuit de manager installeren en up-to-date houden. Krew is geschikt voor zowel macOS, Linux als Windows.
Waarom zijn wij fan van deze tools?
De terminal is een onmisbare tool voor het beheren van Kubernetes met zeer uitgebreide mogelijkheden. Het werken met de terminal kan echter repetitief zijn. Wij zijn dan ook fan van tools die ons helpen efficiënter en productiever met de terminal te werken. Wil jij ook efficiënter met de terminal werken? Dan zijn de bovenstaande tools wat ons betreft echte aanraders!
Samenwerken aan je ambities met Kubernetes?
Steeds meer ontwikkelteams verkennen containerisatie en microservices. Het levert veel voordelen op maar kan ook complex zijn. Fully Managed Kubernetes van True helpt ontwikkelteams met meer efficiëntie en zorgvuldigheid te ontwikkelen.