Skip to Content
Sunbeen's Blog
DocumentsKubernates 기초Kubernates 명령어

Kubernates 명령어

쿠버네티스 대시보드 접속

image.png

쿠버네티스 토큰 발급

입력 kubeadm token create --print-join-command 출력 : node에 그대로 복사해서 입력 kubeadm join 192.168.56.30:6443 --token 8f5bdu.i3x9dz0nn6ay2xnp --discovery-token-ca-cert-hash sha256:477eb4649cde130485971c51ae9cfe49deaa2c1261cfe7a1c5a5a39a3bf74037

kubectl get nodes

출력 예시 NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 2d v1.27.2 k8s-worker1 Ready <none> 2d v1.27.2 k8s-worker2 Ready <none> 2d v1.27.2
컬럼의미판단 기준
NAME노드 이름kubelet이 API Server에 등록한 이름
STATUS노드가 정상 동작 가능한지kubelet 상태, 네트워크, 리소스 압박 등
ROLES노드 역할control-plane / worker
AGE노드가 클러스터에 등록된 뒤 지난 시간join 이후 시간
VERSION해당 노드의 kubelet 버전Kubernetes 노드 에이전트 버전

STATUS

  • Ready : 정상 상태입니다.
  • NotReady : 노드가 정상적으로 Pod를 받을 수 없는 상태입니다.
    • kubelet 문제 kubelet 죽음 / 설정 오류
    • 컨테이너 런타임 문제 containerd, CRI-O 문제
    • 네트워크 플러그인 문제 Calico, Flannel, CNI 미정상
    • API Server 통신 문제 노드가 마스터와 통신 불가
    • 리소스 부족 CPU, 메모리, 디스크 압박
    • 인증서 문제 kubelet 인증서 만료/오류
  • Unknown : API Server가 해당 노드 상태를 알 수 없는 상태입니다.

ROLES

  • control-plane : 마스터 노드
  • none : worker node
    • 직접 worker 라벨을 붙일 수 있습니다.

kubectl get nodes -o wide

[root@k8s-master ~]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-master Ready control-plane 11h v1.27.2 192.168.56.30 <none> Rocky Linux 8.8 (Green Obsidian) 4.18.0-477.10.1.el8_8.x86_64 containerd://1.6.21 k8s-worker1 Ready <none> 11h v1.27.2 192.168.56.31 <none> Rocky Linux 8.8 (Green Obsidian) 4.18.0-477.10.1.el8_8.x86_64 containerd://1.6.21 k8s-worker2 Ready <none> 11h v1.27.2 192.168.56.32 <none> Rocky Linux 8.8 (Green Obsidian) 4.18.0-477.10.1.el8_8.x86_64 containerd://1.6.21
컬럼의미
INTERNAL-IP클러스터 내부 통신용 IP
EXTERNAL-IP외부 접근용 IP
OS-IMAGE노드 OS
KERNEL-VERSIONLinux 커널 버전
CONTAINER-RUNTIMEcontainerd, Docker, CRI-O 등

kubectl get pod -A

  • kubectl get pods —all-namespaces
[root@k8s-master ~]# kubectl get pod -A NAMESPACE NAME READY STATUS RESTARTS AGE calico-apiserver calico-apiserver-697c8c5497-bhrqj 1/1 Running 0 11h calico-apiserver calico-apiserver-697c8c5497-rgllj 1/1 Running 0 11h calico-system calico-kube-controllers-68fbb6c8d6-jhqlp 1/1 Running 0 11h calico-system calico-node-fwdtf 1/1 Running 0 11h ...
컬럼의미
NAMEPod 이름
READY준비 완료된 컨테이너 수
STATUSPod 상태
RESTARTS컨테이너 재시작 횟수
AGE생성 후 경과 시간

STATUS

  • Pending : 아직 실행 준비 중
  • ContainerCreating : 컨테이너 생성 중
  • CrashLoopBackOff : 컨테이너가 실행되자마자 계속 죽음
  • ImagePullBackOff : 이미지 다운로드 실패
  • ErrImagePull : 이미지 pull 자체 실패
  • Completed : 해야 할 작업을 끝내고 정상 종료됨
  • Error : 컨테이너 실행 실패
  • Terminating : 삭제 중

파드 삭제

  • kubectl delete pod pod-1
  • kubectl delete deploy deployment-1
Note

본 문서는 인프런의 초급자를 위한 【대세는 쿠버네티스】 강의를 바탕으로 학습한 내용을 정리한 것입니다.

Last updated on