cluster

k8s bash completion : bash-completion 설치 후 .bashrc에 다음을 입력

source <(kubectl completion bash)
alias k=kubectl
complete -F __start_kubectl k

쿠버네티스 버전 확인

$ kubectl version
$ kubectl version --short

클러스터 정보

$ kubectl cluster-info
$ kubectl config view

# deprecated 될 예정, 하단의 명령어를 사용할 것
$ kubeadm config view
$ kubectl get cm -o yaml -n kube-system kubeadm-config

노드 정보 조회

$ kubectl get nodes
$ kubectl get nodes -o wide

노드 IP주소 출력(jq설치 필요)

kubectl get nodes -o json | jq -r '.items[].status.addresses[] | select(.type=="InternalIP") | .address'

노드 정보 json, yaml형식으로 출력해서 vim 편집기로 보기

kubectl get nodes -o json | vim -c 'set ft=json' -
kubectl get nodes -o yaml | vim -c 'set ft=yaml' -

gron으로 JSON구조 파악해서 JSONPath에 인자로 전달할 값을 찾기

kubectl get pods [podname] -o json | gron

yq로 출력 색깔로 보기

VERSION=v4.2.0
BINARY=yq_linux_amd64

wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}.tar.gz -O - |\
  tar xz && sudo mv ${BINARY} /usr/bin/yq

kubectl get nodes -o yaml | yq e