리소스 이름은 축약어를 사용할 수 있습니다.
node
→ no
pod
→ po
deployment
→ deploy
service
→ svc
namespace
→ ns
configmap
→ cm
추가적으로 필요한 리소스들의 축약어 목록은 공식 문서 - 리소스 타입 에서도 확인해볼 수 있습니다.
kubectl
커맨드를 매번 입력하는 대신 .zshrc
또는 .bash_profile
등의 에디터 설정 파일에서 앨리어스를 지정하면 보다 편하게 커맨드를 작성할 수 있습니다.
kubectl get nodes
k get nodes
이를 응용해, 자주 사용하는 커맨드를 앨리어스로 지정할 수도 있습니다.
alias ksys='kubectl --namespace=kube-system'
alias ksysd='ksys describe'
앨리어스 지정 시, 커맨드에 띄어쓰기를 포함할 경우에는 반드시 시작과 끝을
'
또는"
기호로 감싸야만 합니다.
kubectl describe pod kube-proxy-12345 --namespace=kube-system
# 쿠버네티스 시스템 네임스페이스의 파드 상세정보를 조회
ksysd pod kube-proxy-12345
bash
또는 zsh
쉘을 사용하고 있을 경우 kubectl 커맨드의 자동완성 기능을 활용할 수 있습니다.
echo "source <(kubectl completion bash)" >> ~/.bashrc
echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshr
해당 커맨드를 적용하면 kubectl
입력 후 탭 키를 입력할 시 사용 가능한 옵션들이 함께 출력됩니다.
kubectl get nodes
라고 입력하면 아래와 같이 요약된 결과를 얻을 수 있습니다.
# 현 클러스터의 노드 정보를 간략히 출력하는 예시
NAME STATUS ROLES AGE VERSION
service Ready control-plane,master 139m v1.23.3
service-m02 Ready <none> 138m v1.23.3
만약 더 자세한 정보를 확인하고 싶으면 -o
플래그를 활용할 수 있습니다.
-o wide
: 상세정보를 Plain Text 포맷으로 출력합니다.# 현 클러스터의 노드 정보를 자세히 출력하는 예시
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
service Ready control-plane,master 144m v1.23.3 192.168.58.2 <none> Ubuntu 20.04.2 LTS 5.10.47-linuxkit docker://20.10.12
service-m02 Ready <none> 144m v1.23.3 192.168.58.3 <none> Ubuntu 20.04.2 LTS 5.10.47-linuxkit docker://20.10.12
-o json
: 상세정보를 JSON
포맷으로 출력합니다.
-o yaml
: 상세정보를 YAML
포맷으로 출력합니다.
디플로이먼트 또는 파드를 실행할 때 컨테이너가 제대로 실행되었는지 확인하기 위해 매번 kubectl get pod <파드명>
을 입력하는 대신, 더 좋은 방법이 있습니다.
파드를 실행한 후 컨테이너의 상태를 조회하기 위해,--watch
플래그를 붙이면 컨테이너 상태가 변화할 때마다 로그를 자동으로 추적할 수 있습니다.
디플로이먼트를 통해 파드를 생성한 직후 모습
컨테이너 상태가 변화하니 자동으로 변경된 상태 정보가 출력되는 모습입니다.