You can use the following to enable auto-completion for kubectl on MAC.
ZSH
Run the following on your terminal:
% source <(kubectl completion zsh)
If you are getting the below error:
/dev/fd/11:2: command not found: compdef
You might need to activate the completion system. Run the following on your terminal:
% autoload -Uz compinit
% compinit
% source <(kubectl completion zsh)
% echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc
Now you can use tab for auto-completion of kubectl commands.
Alias
You can create aliases and add them to your ~/.zshrc file. Following are the aliases i use:
alias kg="kubectl get"
alias kge="kubectl get events"
alias kd="kubectl describe"
alias kgtkc='kubectl get tkc -A -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,PHASE:status.phase,CREATIONTIME:metadata.creationTimestamp,VERSION:spec.distribution.fullVersion,CP:spec.topology.controlPlane.replicas,WORKER:status.totalWorkerReplicas --sort-by="metadata.creationTimestamp"'
After adding and saving the above in your ~/.zshrc file, make sure you relaunch the terminal. Now you are ready to use the aliases.
Example:
% kg tkc -n vineetha-test-node-dns
NAME CONTROL PLANE WORKER TKR NAME AGE READY TKR COMPATIBLE UPDATES AVAILABLE
gc 1 3 v1.19.14---vmware.1-tkg.1.8753786 68d False True [1.20.9+vmware.1-tkg.1.a4cee5b]
% kgtkc | grep vineetha
vineetha-test-node-dns gc running 2021-09-28T08:39:56Z v1.19.14+vmware.1-tkg.1.8753786 1 3
References
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
https://unix.stackexchange.com/questions/339954/zsh-command-not-found-compinstall-compinit-compdef
No comments:
Post a Comment