두 손끝의 창조자

Kubenetes 명령어 본문

DevOps

Kubenetes 명령어

codinglog 2023. 7. 24. 17:55

pod 목록

kubectl get pods

자세히 보기

 kubectl get pod -o wide

커스텀 컬럼

 kubectl get pods -o=custom-columns=NAME:.metadata.name,ID:.status.podIP,STATUS:.status.phase,NODE:.spec.nodeName
  • 커스텀 컬럼 항목 살펴보기
  • kubectl get pod echo-hname-7894b67f-6rtn7 -o yaml

pod 삭제

kubectl delete pods nginx-pod

디플로이먼트 삭제

 kubectl delete deployment dpy-nginx

디플로이먼트 상태 보기

kubectl describe deployment rollout-nginx

pod 의 쉘 들어가기

kubectl exec -it nginx-pod -- /bin/bash

파일로 pod 만들기

kubectl create -f ~/_Book_k8sInfra/ch3/3.2.4/echo-hname.yaml

디플로이먼트로 pod 만들기

kubectl create deployment dpy-nginx --image=nginx

디플로이먼트 목록 보기

kubectl get deployments

디플로이먼트에 컨테이너 버전 변경

시스템 영향을 최소화하기 위해 파드를 순차적으로 지우고 생성함. 기본값은 25%, 최소 1개

kubectl set image deployment [deployment이름] nginx=nginx:1.16.0 --record

롤아웃 상태 확인

 kubectl rollout status deployment rollout-nginx

롤백

kubectl rollout undo deployment rollout-nginx

리플리카 늘리기

디플로이먼트로 pod이 만들어져 있어야 함

kubectl scale deployment dpy-nginx --replicas=3

파일 적용으로 pod 만들기

kubectl apply -f ~/_Book_k8sInfra/ch3/3.2.4/echo-hname.yaml

히스토리 남기는 옵션 추가

kubectl apply -f some.yaml --record

히스토리 확인

kubectl rollout history deployment [deployment이름]

특정 시점의 디플로이먼트로 이동

--to-revision=1

kubectl rollout undo deployment rollout-nginx --to-revision=1

특정 노드에 파드를 할당하지 않도록 설정

 kubectl cordon w3-k8s

취소

 kubectl uncordon w3-k8s

특정 노드에 파드를 모두 빼기

  • 유지보수 등 사유로 인해 노드를 꺼야 할 때
  • Daemon set은 각 노드에 1개만 존재하는 파드라서 ignore을 하지 않으면 진행이 안됨
  • kubectl drain w3-k8s --ignore-daemonsets

서비스 목록 보기

kubectl get services

노드 목록 정보 보기

kubectl get nodes -o wide

서비스 삭제

kubectl delete services [서비스이름]

기타

무한 요청

i=1;while true; do sleep 1; echo $((i++)) `curl --silent 172.16.221.132 | grep title`; done
반응형
Comments