MacOS 에서 kubectl 명령어를 자동 완성하는 방법에 대해서 정리해보려고 한다.
1. zshrc 파일에 completion 추가하기
echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc
2. 플러그인 설치하기
MacOS 에서 oh-my-zsh 를 사용하는 경우 위의 설정만 하면 되지 않고 추가로 plugin 을 설치해서 적용해주어야 한다.
따라서, 설치하려고 하는 플러그인은 zsh-autosuggestions 와 zsh-syntax-highlighting 를 설치해주려고 한다.
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
그리고 ~/.zshrc 파일 안에 plugins 이 설정되어있는데 다음과 같이 추가해주었다.
# AS-IS
plugins=(git)
# TO-BE
plugins=(git docker kubectl kube-ps1 zsh-autosuggestions zsh-syntax-highlighting)
설정을 마친 후에 터미널을 재접속하게 되면 kubectl 명령어의 자동 완성이 되는 것을 확인할 수 있고
zsh-autosuggestions 이 자동으로 명령어를 추천해주어서 편하게 사용할 수 있다.

다만, 자동으로 인식해서 만들어주는 것이 아니라 이전에 사용했던 명령어를 참고해서 알려주는 것이기 때문에 이 점에 유의하고 사용하면 좋을 것 같다.