쿠버네티스 포드 정보를 확인하거나 생성, 수정, 삭제하는 명령어를 정리해둔다.
포드 목록 조회
포드의 이름, 상태, 동작 컨테이너 수 등의 정보를 확인할 수 있다.
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