포드
포드 (Pod)
이 페이지는 쿠버네티스에서 배포 가능한 가장 작은 컴퓨팅 단위인 Pod 객체를 설명해요. 하나 이상의 컨테이너와 저장소, 네트워크 설정을 함께 묶는 구조체랍니다.
본문
Pod는 클러스터에서 배포 가능한 가장 작고 기본적인 단위입니다. Pod는 하나 이상의 컨테이너와 저장소, 네트워크 설정을 나타냅니다.
apiVersion: v1
import "k8s.io/api/core/v1"
Pod
Pod는 클러스터에서 배포 가능한 가장 작고 기본적인 단위입니다. Pod는 하나 이상의 컨테이너와 저장소, 네트워크 설정을 나타냅니다.
| Field | Description |
|---|---|
apiVersion |
|
| string | APIVersion은 이 객체 표현의 버전 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않은 값은 거부할 수 있습니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kind |
|
| string | Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 추론할 수 있습니다. 업데이트할 수 없습니다. CamelCase 형식입니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadata |
|
| ObjectMeta | 객체의 표준 메타데이터입니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
spec |
|
| PodSpec | spec는 원하는 포드 동작을 정의합니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
status |
|
| PodStatus | status는 포드의 현재 상태를 나타냅니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
PodSpec
PodSpec는 포드의 원하는 상태를 정의합니다.
| Field | Description |
|---|---|
activeDeadlineSeconds |
|
| integer | activeDeadlineSeconds는 포드가 노드에서 활성 상태로 실행될 수 있는 기간(초)입니다. 기간이 지나면 포드는 종료됩니다. |
affinity |
|
| Affinity | affinity는 스케줄링에 대한 포드의 선호도/반선호도 규칙을 정의합니다. |
automountServiceAccountToken |
|
| boolean | automountServiceAccountToken은 포드 내의 서비스 어카운트 토큰을 자동으로 마운트할지 여부를 나타냅니다. |
containers |
|
| Container array | containers는 포드 안에서 실행할 컨테이너의 목록입니다. 최소 한 개의 컨테이너가 필요합니다. |
dnsConfig |
|
| PodDNSConfig | dnsConfig는 포드에 대한 DNS 매개변수를 정의합니다. |
dnsPolicy |
|
| string | dnsPolicy는 포드에 대한 DNS 정책을 설정합니다. 유효한 값은 ClusterFirst, Default, ClusterFirstWithHostNet, None입니다. |
enableServiceLinks |
|
| boolean | enableServiceLinks는 포드의 환경 변수에 Service 링크를 주입할지 여부를 나타냅니다. |
ephemeralContainers |
|
| EphemeralContainer array | ephemeralContainers는 포드에서 실행할 임시 컨테이너 목록입니다. |
hostAliases |
|
| HostAlias array | hostAliases는 /etc/hosts에 추가될 호스트 이름과 IP 주소 목록입니다. |
hostIPC |
|
| boolean | hostIPC는 포드가 호스트의 IPC 네임스페이스를 사용할지 여부를 정의합니다. |
hostNetwork |
|
| boolean | hostNetwork는 포드가 호스트의 네트워크 네임스페이스를 사용할지 여부를 정의합니다. |
hostPID |
|
| boolean | hostPID는 포드가 호스트의 프로세스 네임스페이스를 사용할지 여부를 정의합니다. |
hostUsers |
|
| boolean | hostUsers는 포드 안의 컨테이너가 사용자 네임스페이스를 사용할지 여부를 정의합니다. |
hostname |
|
| string | hostname는 포드의 호스트 이름입니다. |
imagePullSecrets |
|
| LocalObjectReference array | imagePullSecrets는 컨테이너 이미지를 가져올 때 사용할 시크릿 목록입니다. |
initContainers |
|
| Container array | initContainers는 포드에서 먼저 실행되는 초기화 컨테이너 목록입니다. |
nodeName |
|
| string | nodeName는 이 포드가 예약된 노드의 이름입니다. |
nodeSelector |
|
| map[string]string | nodeSelector는 이 포드가 스케줄링될 노드를 선택하기 위한 라벨 셀렉터입니다. |
os |
|
| PodOS | os는 포드의 운영 체제를 지정합니다. |
overhead |
|
| object | overhead는 이 포드와 연결된 오버헤드 리소스의 양을 나타냅니다. |
preemptionPolicy |
|
| string | preemptionPolicy는 포드를 선점할 때의 정책을 정의합니다. 유효한 값은 PreemptLowerPriority, Never입니다. |
priority |
|
| integer | priority는 포드의 우선순위 값을 나타냅니다. 값이 클수록 우선순위가 높습니다. |
priorityClassName |
|
| string | priorityClassName은 이 포드에 사용할 우선순위 클래스의 이름입니다. |
readinessGates |
|
| PodReadinessGate array | readinessGates는 포드 준비 상태를 결정하는 추가 조건 목록입니다. |
resourceClaims |
|
| PodResourceClaim array | resourceClaims는 이 포드에서 사용할 리소스 클레임 목록입니다. |
restartPolicy |
|
| string | restartPolicy는 포드의 컨테이너에 대한 재시작 정책입니다. 유효한 값은 Always, OnFailure, Never입니다. 기본값은 Always입니다. |
runtimeClassName |
|
| string | runtimeClassName은 이 포드에 사용할 런타임 클래스의 이름입니다. |
schedulerName |
|
| string | schedulerName는 이 포드를 스케줄링할 스케줄러의 이름입니다. |
schedulingGates |
|
| PodSchedulingGate array | schedulingGates는 포드를 스케줄링 가능한 상태로 만들기 전에 차단할 게이트 목록입니다. |
securityContext |
|
| PodSecurityContext | securityContext는 포드 수준의 보안 속성을 정의합니다. |
serviceAccount |
|
| string | serviceAccount는 이 포드에서 사용할 서비스 어카운트의 이름입니다. |
serviceAccountName |
|
| string | serviceAccountName은 이 포드에서 사용할 서비스 어카운트의 이름입니다. |
setHostnameAsFQDN |
|
| boolean | setHostnameAsFQDN는 포드의 호스트 이름을 FQDN으로 설정할지 여부를 나타냅니다. |
shareProcessNamespace |
|
| boolean | shareProcessNamespace는 포드 안의 컨테이너가 단일 프로세스 네임스페이스를 공유할지 여부를 나타냅니다. |
subdomain |
|
| string | subdomain는 이 포드에 대한 하위 도메인입니다. |
terminationGracePeriodSeconds |
|
| integer | terminationGracePeriodSeconds는 포드가 종료될 때의 유예 기간(초)입니다. |
tolerations |
|
| Toleration array | tolerations는 포드의 테인트 톨러레이션 목록입니다. |
topologySpreadConstraints |
|
| TopologySpreadConstraint array | topologySpreadConstraints는 포드를 여러 토폴로지 도메인에 분산시키는 제약 조건 목록입니다. |
volumes |
|
| Volume array | volumes는 포드에서 사용할 수 있는 볼륨 목록입니다. |
Container
Container는 포드 내 단일 컨테이너의 사양입니다.
| Field | Description |
|---|---|
args |
|
| string array | args는 컨테이너 인수 목록입니다. 비어 있으면 이미지의 기본 인수가 사용됩니다. |
command |
|
| string array | command는 컨테이너의 진입점(entrypoint)입니다. 비어 있으면 이미지의 ENTRYPOINT가 사용됩니다. |
env |
|
| EnvVar array | env는 컨테이너의 환경 변수 목록입니다. |
envFrom |
|
| EnvFromSource array | envFrom는 컨테이너에서 환경 변수를 가져올 원본 목록입니다. |
image |
|
| string | image는 컨테이너의 이미지 이름입니다. |
imagePullPolicy |
|
| string | imagePullPolicy는 이미지를 가져오는 방법을 나타냅니다. 유효한 값은 Always, Never, IfNotPresent입니다. |
lifecycle |
|
| Lifecycle | lifecycle은 컨테이너의 라이프사이클 훅(PostStart, PreStop)을 정의합니다. |
livenessProbe |
|
| Probe | livenessProbe는 컨테이너를 재시작해야 하는지 여부를 결정하는 프로브입니다. |
name ***** |
|
| string | name는 컨테이너의 이름입니다. 포드 내에서 고유해야 합니다. |
ports |
|
| ContainerPort array | ports는 컨테이너에서 노출되는 포트 목록입니다. |
readinessProbe |
|
| Probe | readinessProbe는 컨테이너가 트래픽을 받을 준비가 되었는지 여부를 결정하는 프로브입니다. |
resizePolicy |
|
| ContainerResizePolicy array | resizePolicy는 컨테이너 리소스 리사이징 정책 목록입니다. |
resources |
|
| ResourceRequirements | resources는 컨테이너의 리소스 요청 및 제한을 정의합니다. |
restartPolicy |
|
| string | restartPolicy는 컨테이너의 재시작 정책을 정의합니다. |
securityContext |
|
| SecurityContext | securityContext는 컨테이너 수준의 보안 속성을 정의합니다. |
startupProbe |
|
| Probe | startupProbe는 컨테이너가 시작되었는지 여부를 결정하는 프로브입니다. |
stdin |
|
| boolean | stdin는 컨테이너에 표준 입력을 연결할지 여부를 나타냅니다. |
stdinOnce |
|
| boolean | stdinOnce는 표준 입력이 열리면 닫힐지 여부를 나타냅니다. |
terminationMessagePath |
|
| string | terminationMessagePath는 컨테이너 종료 메시지를 기록하는 파일의 경로입니다. |
terminationMessagePolicy |
|
| string | terminationMessagePolicy는 종료 메시지를 읽는 방법을 나타냅니다. 유효한 값은 File, FallbackToLogsOnError입니다. |
tty |
|
| boolean | tty는 컨테이너에 TTY를 할당할지 여부를 나타냅니다. |
volumeDevices |
|
| VolumeDevice array | volumeDevices는 컨테이너에 노출되는 볼륨 장치 목록입니다. |
volumeMounts |
|
| VolumeMount array | volumeMounts는 컨테이너에 마운트되는 볼륨 목록입니다. |
workingDir |
|
| string | workingDir은 컨테이너의 작업 디렉터리입니다. |
PodStatus
PodStatus는 포드의 현재 상태를 나타냅니다.
| Field | Description |
|---|---|
conditions |
|
| PodCondition array | conditions는 포드의 현재 상태 조건 목록입니다. |
containerStatuses |
|
| ContainerStatus array | containerStatuses는 포드의 각 컨테이너 상태 목록입니다. |
ephemeralContainerStatuses |
|
| ContainerStatus array | ephemeralContainerStatuses는 포드의 임시 컨테이너 상태 목록입니다. |
hostIP |
|
| string | hostIP는 포드에 할당된 호스트(노드) IP 주소입니다. |
hostIPs |
|
| HostIP array | hostIPs는 포드에 할당된 호스트(노드) IP 주소 목록입니다. |
initContainerStatuses |
|
| ContainerStatus array | initContainerStatuses는 포드의 초기화 컨테이너 상태 목록입니다. |
message |
|
| string | message는 포드가 현재 상태가 된 이유에 대한 사람이 읽을 수 있는 메시지입니다. |
nominatedNodeName |
|
| string | nominatedNodeName는 포드가 다음에 예약될 때 지명된 노드의 이름입니다. |
phase |
|
| string | phase는 포드 수명 주기에서의 현재 단계입니다. 유효한 값은 Pending, Running, Succeeded, Failed, Unknown입니다. |
podIP |
|
| string | podIP는 포드에 할당된 IP 주소입니다. |
podIPs |
|
| PodIP array | podIPs는 포드에 할당된 IP 주소 목록입니다. |
qosClass |
|
| string | qosClass는 포드의 서비스 품질 클래스입니다. 유효한 값은 Guaranteed, Burstable, BestEffort입니다. |
reason |
|
| string | reason는 포드가 현재 상태가 된 이유에 대한 간결한 사람이 읽을 수 있는 메시지입니다. |
resize |
|
| string | resize는 포드에서 요청된 리소스 리사이징의 상태입니다. |
resourceClaimStatuses |
|
| PodResourceClaimStatus array | resourceClaimStatuses는 포드의 리소스 클레임 상태 목록입니다. |
startTime |
|
| Time | startTime는 포드가 성공적으로 시작된 시간입니다. |
ContainerStatus
ContainerStatus는 포드의 단일 컨테이너 상태를 나타냅니다.
| Field | Description |
|---|---|
allocatedResources |
|
| object | allocatedResources는 이 컨테이너에 할당된 리소스 목록입니다. |
containerID |
|
| string | containerID는 컨테이너 런타임의 ID입니다. |
image |
|
| string | image는 컨테이너 이미지 이름입니다. |
imageID |
|
| string | imageID는 컨테이너 이미지의 ID입니다. |
lastState |
|
| ContainerState | lastState는 이 컨테이너의 마지막 상태입니다. |
name |
|
| string | name는 컨테이너의 이름입니다. |
ready |
|
| boolean | ready는 컨테이너가 준비 프로브를 통과했는지 여부를 나타냅니다. |
restartCount |
|
| integer | restartCount는 컨테이너의 재시작 횟수입니다. |
started |
|
| boolean | started는 컨테이너가 시작되었는지 여부를 나타냅니다. |
state |
|
| ContainerState | state는 이 컨테이너의 현재 상태입니다. |