24년 11월 이전/쿠버네티스

kubectl 보다 편리하게 사용하기 (1) 자동 완성 기능 활성화, k로 짧게쓰기

Gurumee 2021. 12. 25. 19:30
반응형

개요

이 문서는 kubectl을 보다 쉽게 사용하기 위한 방법에 대해 다루고 있다. 이 문서에서 소개하는 방법은 다음과 같다.

  • kubectl 자동 완성 기능 활성화하기
  • 쉘에서 kubectl을 k로 사용하기

나는 zsh 쉘을 사용하는데 bash 쉘을 사용하는 경우라면, "참고" 절의 문서를 확인하길 바란다.

kubectl 자동 완성 기능 활성화하기

터미널에 다음을 입력하면 kubectl에 자동 완성 기능을 활성화할 수 있다.

# 현재 셸에 zsh의 자동 완성 설정
$ source <(kubectl completion zsh)  

# 자동 완성을 zsh 셸에 영구적으로 추가한다.
$ echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc 

 

그 후 kubectl s 이후에 탭을 눌러보자.

$ kubectl s # s에서 탭을 눌러주세요. s로 시작하는 명령어들이 보입니다.
scale  -- Set a new size for a deployment, replica set, or replication controller
set    -- Set specific features on objects

 

그럼 완성 가능한 명령어들이 보인다. 물론 명령어 이후, 명령어에서 조작할 수 있는 리소스들도 확인할 수 있다. kubectl scale  이후에 탭을 눌러보자.

$ kubectl scale  # scale 완성 후 스페이스 한 칸, 그 후 탭을 누르면 조작할 수 있는 리소스들이 보입니다.
--replicas             -- The new desired number of replicas. Required.
deployment             replicaset             replicationcontroller  statefulset

 

이런 식으로 명령어들과, 리소스들을 심지어 옵션들까지도 자동 완성 기능을 통해서 완성할 수 있다. 만약 자동 완성 기능 활성화 이후에 잘 되지 않는다면 쉘을 종료하거나 터미널에 다음을 입력하면 된다.

$ source ~/.zshrc

쉘에서 kubectl을 k로 사용하기

kubectl은 보통 이렇게 사용한다.

$ kubectl get pod
No resources found in default namespace.

근데 쿠버네티스를 현업에서 관리하다보면 수 많은 kubectl을 쳐야 하는 상황이 온다. 이 때 쉘의 alias를 이용하면 k를 입력하는 것만으로 kubectl을 사용할 수 있다. ~/.zshrc에 다음을 추가한다.

 

~/.zshrc

alias k=kubectl
complete -F __start_kubectl k

 

이후 쉘을 다시 켜주거나 다음을 입력해주어야 한다.

$ bash ~/.zshrc

 

그럼 터미널에서 다음처럼 k <명령어>kubectl 명령어들을 사용할 수 있다.

$ k get pod
No resources found in default namespace.

참고

728x90
반응형