Kubernetes/KoudKloud - CKAD with Tests

포드 관련 명령어

비번변경 2021. 11. 12. 19:00

쿠버네티스 포드 정보를 확인하거나 생성, 수정, 삭제하는 명령어를 정리해둔다.

 

포드 목록 조회

포드의 이름, 상태, 동작 컨테이너 수 등의 정보를 확인할 수 있다.

kubectl get pods

# 상세 정보 포함
kubectl get pods -o wide

포드 목록 조회

 

포드 상세 정보 확인

지정 포드의 이름, 네임스페이스, 노드, 상태, IP, 컨테이너 등의 상세 정보를 확인할 수 있다.

kubectl describe pods <PODNAME>

포드 상세 정보 확인

 

포드 생성

컨테이너를 실행할 새로운 포드를 생성한다. 컨테이너에서 사용할 이미지를 지정해야 한다.

kubectl run <PODNAME> --image=<IMAGE>
# --dry-run=client : 실제 수행은 하지 않고, 실행한 결과만을 출력함
# --labels=<KEY>=<VALUE> : 포드 레이블 지정
# --port NUM : container port 지정

# 예시
kubectl run nginx --image=nginx
kubectl run nginx --image=nginx --dry-run=client
kubectl run nginx --image=nginx --labels=tier=db
kubectl run custom-nginx --image=nginx --port 8080

 

실행 예시

포드 생성

 

포드 수정

실행 중인 포드의 정보를 수정한다.

kubectl edit pod <PODNAME>

 

멀티 컨테이너 포드 생성

포드 정의 yaml 파일의 spec > containers 필드에 여러 컨테이너를 정의하여 create 명령으로 생성한다.

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: yellow
  name: yellow
spec:
  containers:
  - image: busybox
    name: lemon
    resources: {}
  - name: gold
    image: redis
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

 

포드 삭제

실행 중인 포드의 정보를 삭제한다.

kubectl delete pod <PODNAME>

# 모든 포드 삭제
kubectl delete pods --all

 

포드 로그 확인

kubectl logs <POD_NAME>

 

포드 명령어 실행

kubectl exec <POD_NAME> -- <COMMAND>

# 예시
kubectl exec webapp -- cat /log/app.log