Kubectl의 zsh 완성 기능으로 막힌 이야기

이게 뭐야?



kubectl의 zsh 보완 기능을 설정할 때 막혔기 때문에 정리한다.

kubectl 보완 기능 (completion)



아오야마 마야 씨의 kubernetes 완전 가이드에는 이하와 같이 기재되어 있었다.

kubectl의 다양한 사용법을 설명해 왔지만, 쉘 보관 기능도 준비되어 있습니다. bash 또는 zsh를 선택할 수 있으므로 환경에 따라 둘 중 하나를 지정하십시오.
# bash completion
$ source <(kubectl completion bash)

# zsh completion
$ source <(kubectl completion zsh)

'~/.bash_profile'이나 '~/.zprofile'로 설정하면 로그인 시 활성화되어 편리합니다.

자신은 zsh 사용자이므로 아래 명령을 실행했습니다. 그러면 complete:13: command not found: compdef라는 오류가 발생합니다.

해결책



우선 에러를 카피해로 구그 해 보았더니 이하와 같이 출력되었다.


AWS 클라이언트나 Google Cloud를 사용하고 있는 것은 아니기 때문에 위에서 네 번째 기사을 열면 zshrc에 아래와 같이 기재하면 좋다고 쓰여졌다.

~/.zshrc
autoload -Uz compinit
compinit

source <(kubectl completion zsh)

이것은 보완에 표시되는 파일에 관한 시큐리티의 옵션이라고 한다. 이 위에서 네 번째 기사에는 이하도 기재하라고 써 있었지만 필요 없다. 이번 참조한 Github의 Issue가 asdf라는 애플리케이션에 연결되어 있기 때문이다.
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash

여담



같은 실수를 한 누군가를 이 기사를 통해서 해결책으로 인도하는 것을 목적으로 이 기사를 썼다.

좋은 웹페이지 즐겨찾기