쿠버네티스 kubectl 명령어

쿠버네티스 kubectl 명령어

728x90

□ 다음 명령으로 클러스터 내의 노드명, status 확인

# kubectl get nodes

□ 클러스터 구성 노드 확인

# kubectl get nodes -o wide

□ 노드(서버) 리소스 확인

# kubectl top nodes

□ Pod 리소스 확인

# kubectl top pod

□ pod 상태 확인

kubectl get pod --all-namespaces

□ pod 상태 확인 (detail)

kubectl get pod --all-namespaces -o wide

□ Kubelet 로그

Kubelet 은 kubernetes 노드 에이전트 임

# journalctl -u kubelet

□ Cluster 이벤트

클러스터 내의 모든 이벤트를 확인하기 위해 다음 명령을 실행

# kubectl get events --sort-by='{.lastTimestamp}'

□ pod 상세내용 보기

kubectl top pod 명령어에서 Kubectl에서 사용하는 pod name 확인

# kubectl describe pod host-csv-exporter-787d9c9fc6-zrg29

(pod name)

□ pod 로그 보기

# kubectl logs host-csv-exporter-787d9c9fc6-zrg29

(pod name)

□ kubectl drain 명령을 입력하여 해당 노드를Shutdown 한다.

# kubectl drain host-m-n-03 --ignore-daemonsets --force

(node name)

□ kubectl drain 명령을 입력하여 해당 노드를Shutdown한다.

[root@host-m-n-01 ~]# kubectl drain host-m-n-03 --delete-local-data --ignore-daemonsets --force

node "host-m-n-03" cordoned

WARNING: Ignoring DaemonSet-managed pods: kube-proxy-k8ccv

※ 노드 shutdown전 kubectl drain명령어로 해당노드를 shutdown해야함

□ 참고 노드 서비스 복구

[root@host-m-n-01 ~]# kubectl uncordon host-m-n-03

node/host-m-n-03 uncordoned

Kubernetes 에서는 Node Lost시 자동 절체/재분배를 지원하지 않는다.

서비스 유지를 위해서는 되도록 빨리 강제적으로 Pod을 절체/재분배 해야 한다.

복구 명령

다음 명령을 실행하여 해당 노드의 pod을 강제적으로 절체/재분배 시킨다.

kubectl get pod --all-namespaces -o wide | awk 'BEGIN{N=0} {if (NR==1) {for (X=1;X

kubectl get events --sort-by='{.lastTimestamp}'

728x90

from http://rapperwoo26.tistory.com/315 by ccl(A) rewrite - 2021-09-07 12:00:19