목차

파드

파드의 트러블 슈팅

파드의 상태가 ImagePullBackOff이면서 기동하지 않는 경우

kubectl get po

kubectl get events | grep [파드명]

파드의 상태가 ContainerCreating 에서 진행하지 않는 경우

kubectl get events | grep [파드명]

파드가 재시작을 반복

kubectl describe po [파드명]

Docs

YAML

kubectl run nginx --image=nginx:latest --restart=Never

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx:latest

파드 API

주요 항목 설명
apiVersion v1 설정
kind Pod 설정
metadata 파드의 이름을 지정하는 name은 필수 항목이며, 네임스페이스 내에서 유일한 이름이어야 함
spec 파드의 사양을 기술

파드의 사양

주요 항목 설명
containers 컨테이너의 사양을 배열로 기술
initContainers 초기화 전용 컨테이너의 사양을 배열로 기술
nodeSelector 파드가 배포될 노드의 레이블을 지정
volumes 파드 내 컨테이너 간에 공유할 수 있는 볼륨을 설정

컨테이너 설정

주요 항목 설명
image 이미지의 리포지터리명과 태그
name 컨테이너를 여러 개 기술할 경우 필수 항목
livenessProbe 컨테이너 애플리케이션이 정상적으로 동작 중인지 검사하는 프로브
readinessProbe 컨테이너 애플리케이션이 사용자의 요청을 받을 준비가 되었는지 검사하는 프로브
ports 외부로부터 요청을 전달받기 위한 포트 목록
resources CPU와 메모리 요구량과 상한치
volumeMounts 파드에 정의한 볼륨을 컨테이너의 파일 시스템에 마운트하는 설정. 복수 개 기술 가능
command 컨테이너 기동 시 실행할 커맨드. args가 인자로 적용
args command의 실행 인자
env 컨테이너 내에 환경 변수를 설정

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#container-v1-core

파드의 특성

파드란?

파드란 컨테이너 그룹의 스케쥴링과 배포, 호스트 이전이나 스케일을 목적으로 함께 배포되며, 파일시스템, 네트워킹, 프로세스 네임스페이스를 공유할 수도 있다.
이렇게 동시에 적용되는 수명주기 덕분에 파드 안의 컨테이너는 파일 시스템이나 로컬호스트 혹은 호스트 간 프로세스 통신 메커니즘을 통한 네트워크 통신으로 컨테이너 간의 상호작용을 할 수 있다.

컨테이너1컨테이너2파이썬자바서비스로컬호스트


관련 문서