ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • kubectl 보다 편리하게 사용하기 (1) 자동 완성 기능 활성화, k로 짧게쓰기
    Container/Kubernetes 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.

    참고

Designed by Tistory.