open:파드

파드

kubectl get po

kubectl get events | grep [파드명]

kubectl get events | grep [파드명]

kubectl describe po [파드명]

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

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

주요 항목 설명
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

  • 파드는 스케쥴링의 최소 단위다. 이 말은 스케쥴러가 파드에 속한 모든 컨테이너의 요구사항을 만족하는 호스트를 찾으려 시도한다는 뜻이다. 만약 다수의 컨테이너가 포함된 하나의 파드를 생성한다면, 스케쥴러는 모든 컨테이너의 요구를 만족할 정도로 충분한 자원을 갖춘 호스트를 찾아야 한다.
  • 파드는 파드에 속한 컨테이너들의 동일 장소 배치 colocation을 보장한다. 동일 장소 배치 덕분에 동일한 파드 안의 컨테이너는 서로 상호작용할 수 있는 방법이 또 있다. 가장 일반적인 통신 방법은 데이터 교환을 위해 공유 로컬 파일시스템을 사용하거나 로컬호스트 네트워크 인터페이스를 사용하는 방법, 또는 고성능 상호작용을 위한 호스트 프로세스 간 통신 IPC (interprocess communication) 매커니즘 등이 있다.
  • 한 파드는 파드 안의 모든 컨테이너가 공유하는 하나의 IP 주소와 이름, 포트 범위를 갖는다. 다시 말해, 병렬로 실행되는 유닉스 프로세스들이 호스트 상의 네트워킹 공간을 공유할 때 주으이해야 하는 것과 마찬가지로, 동일한 파드 안에 있는 컨테이너들 또한 포트가 겹치지 않게 조심해서 설정해야 한다는 뜻이다.

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

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


  • open/파드.txt
  • 마지막으로 수정됨: 2021/10/03 04:38
  • 저자 127.0.0.1