게으름을 위한 부지런한 게으름뱅리' 블로그

[K8S] kubectl pod, deployment, service 명령어 정리 본문

IT/K8S

[K8S] kubectl pod, deployment, service 명령어 정리

LazismLee 2023. 12. 10. 19:12
반응형

♬ POD

# 파드를 실행

kubectl run {pod_name} --image={image_name}

 

# 파드가 준비 상태가 될 때까지 기다리기

kubectl wait --for=condition=Ready pod {pod_name}

 

# 클러스터에 있는 모든 파드의 목록을 출력

kubectl get pods

 

# 파드의 상세 정보를 확인

kubectl describe pod {pod_name}

 

# 파드 내부와 연결할 대화형 셀 실행

kubectl exec -it {name} sh

 

# 파드 내부와 연결할 대화형 셀 실행

kubectl logs --tail=2 {name}

 

# 파드 속에서 파일을 로컬 컴퓨터로 복사

kubectl cp {pod_name}:/복사할_파일의_절대경로 /로컬의_절대경로

 

# 파드 내부와 연결할 대화형 셀 실행

kubectl delete pods --all

 

# Pod의 네트워크 상세 정보 중 특정한 항목을 따로 지정해서 출력

kubectl get pod {pod_name} --out-put custom-columns=NAME:metadata.name,NODE_IP:status.hostIP,POD_IP:status.podIP

 

♬ Deployment

# 디플로이먼트 생성

kubectl create deployment {name} --image={image_name}

 

# 모든 디플로이먼트 삭제

kubectl delete deploy --all

 

# 디플로이먼트가 부여한 파드의 레이블 출력

kubectl get deploy {name} -o jsonpath='{.spec.template.metadata.labels}'

 

# 레이블을 가진 파드의 목록 출력

kubectl get pod -l app={name}

 

# 모든 파드 이름과 레이블 확인

kubectl get pods -o custom-columns=NAME:metadata.name,LABELS:metadata.labels

 

# deployment가 생성한 파드의 'app' 레이블 수정

kubectl label pods -l app={name} --overwrite app={name2}

 

# 'app' 이라는 레이블이 부여된 모든 파드의 이름과 레이블 출력

kubectl get pods -l app -o custom-columns=NAME:metadata.name,LABELS:metadata.labels

 

♬ Service

# 서비스의 상세 정보를 출력

kubectl get svc {name}

 

# 서비스를 삭제

kubectl delete svc {name}

 

# 엔드포인트의 상세 정보를 확인

kubectl get endpoints {service_name}
반응형
Comments