IT-Knowledgebase
de DevOps Software Kubernetes kubectl

kubectl - autovervollständigung einrichten

Die Autovervollständigung von kubectl ermöglicht das Aufüllen von Befehlen oder Ressourcen mit z.B. der Tabulator Taste auf einem Unix System. Das ganze ist sehr praktisch in der dynamischen Welt von kubernetes um z.B. nach Pods oder Services fast automatisch zu suchen ohne sie sich vorher immer mit einem get aufzulisten.

Damit die Autovervollständigung funktioniert, muss Sie allerdings erstmal installiert sein. Das zu installieren geht mit folgendem Befehl

1apt-get install bash-completion
2
3# oder für RedHat 
4
5yum install bash-completion

Die Befehle erstellen folgende Datei /usr/share/bash-completion/bash_completion

Einrichtung auf der Bash für Linux

Der Code für die Autovervollständigung kann mit dem Befehl kubectl completion bash erzeugt werden. Je nachdem über welchen Paketmanager du diese Pakete installierst, muss eventuell noch etwas in die .bashrc hinzugefügt werden. Das ganze kann getestet werden mit folgendem Befehl

1type _init_completion

Prüft ob die Bash-Completion aktiv ist

Wenn dieser Befehl nicht fehlschlägt ist alles richtig eingerichtet. Wenn er fehlschlägt muss folgendes in die .bashrc eingetragen werden (die .bashrc liegt im Homeverzeichnis des einzelnen Users):

1source /usr/share/bash-completion/bash_completion

Am einfachsten ist es nun das Script von kubectl direkt in die bashrc oder unter dem bash_completion Ordner hinzuzufügen:

1echo 'source <(kubectl completion bash)' >>~/.bashrc
2
3# alternativ unter der bash_completion:
4
5kubectl completion bash >/etc/bash_completion.d/kubectl

bash-completion bezieht alle Vervollständigungsskripte aus /etc/bash_completion.d.

Nachdem erneuten laden der Shell sollte die Autovervollständigung nun funktionieren.

Einrichtung auf der Bash für macOS

Für macOs kann die Einrichtung der bash auf Linux befolgt werden unter einem Hinweis, dass Standardmäßig Bash 3.2 installiert ist Bash 4.1 benötigt wird. Wie man die Bash updatet erfahren Sie auch hier auf dieser Webseite oder unter folgendem Link: Link

Einrichtung auf zsh

Bei zsh muss das Script unter dem HOME-Verzeichnis und dann .zshrc hinzugefügt werden. Dafür fügen wir in der Datei ~/.zshrc folgendes hinzu:

1source <(kubectl completion zsh)

Nach einem reload der Shell sollte das nun ebenfalls.