← Kubernetes 모듈로

Learn · Glossary

Kubernetes 용어 사전

총 22개 용어

Admission Webhook

API 요청이 인증·인가(RBAC)를 통과한 뒤 etcd에 저장되기 전 마지막으로 거치는 관문. Mutating Webhook(객체 수정 가능, 검증보다 먼저 실행)과 Validating Webhook(승인/거부만, 수정 불가)으로 나뉜다.
Admission Webhook — API 서버가 저장하기 직전 마지막 관문 · Kubernetes 공식문서 Admission Control in Kubernetes

DaemonSet

조건에 맞는 클러스터의 모든(또는 일부) 노드에 Pod를 정확히 하나씩 배치하는 워크로드 컨트롤러. replica 수가 아니라 노드 개수가 배정 기준이며, 새 노드가 추가되면 자동으로 그 노드에도 Pod가 뜬다.
DaemonSet — 모든 노드에 정확히 한 벌씩 · Kubernetes 공식문서 DaemonSet

etcd

Kubernetes 클러스터의 모든 API 서버 데이터(리소스 상태, 설정 등)를 저장하는 일관되고 고가용한 key-value 저장소. 클러스터의 '진실의 원천(source of truth)'이다.
Control Plane과 Node — 클러스터를 이루는 두 축 · Kubernetes 공식문서 Components of Kubernetes

kubectl logs --previous

현재 실행 중인 컨테이너가 아니라, 직전에 크래시해 종료된 컨테이너 인스턴스의 로그를 조회하는 옵션. CrashLoopBackOff 진단에서 실제 크래시 원인을 담은 로그를 얻는 첫 단계다.
CrashLoopBackOff 진단 절차 — 순서대로 좁혀나가기 · GKE 공식 문서 Troubleshoot CrashLoopBackOff events, Komodor How to Fix CrashLoopBackOff

maxSurge / maxUnavailable

Deployment 롤링 업데이트 중 허용되는 초과 Pod 수(maxSurge)와 동시에 사용 불가능해도 되는 Pod 수(maxUnavailable)를 지정하는 설정. 무중단 배포의 속도·여유분을 조절한다.
Deployment와 ReplicaSet — 선언적으로 Pod를 관리한다 · Kubernetes 공식문서 Workloads — Deployments

Native Sidecar Container

initContainers 목록에서 restartPolicy: Always로 지정된 컨테이너. 다른 init 컨테이너와 같은 순서로 시작하지만 완료를 기다리지 않고, Pod의 나머지 생애주기 동안 함께 실행되며 재시작될 수 있다(1.29 베타 기본활성화, 1.33 stable).
Native Sidecar Containers — initContainers에 restartPolicy: Always를 붙인다 · KEP-753: Sidecar Containers

NetworkPolicy default-allow → whitelist 전환

NetworkPolicy가 적용 안 된 Pod는 모든 트래픽이 기본 허용되지만, ingress(또는 egress) 타입 정책이 하나라도 그 Pod에 적용되면 그 방향의 트래픽은 정책이 명시적으로 허용한 것만 통과하는 화이트리스트 방식으로 바뀐다.
NetworkPolicy — 기본은 전부 허용, 정책이 붙는 순간부터 화이트리스트 · Calico/Kubernetes 커뮤니티 NetworkPolicy 가이드

persistentVolumeClaimRetentionPolicy

StatefulSet의 PVC를 스케일다운 시(whenScaled)와 StatefulSet 삭제 시(whenDeleted) 각각 보존(Retain, 기본값)할지 삭제(Delete)할지 지정하는 필드. 두 값은 서로 독립적으로 설정할 수 있다.
StatefulSet PVC 보존 정책 — 기본값은 '스케일다운해도 안 지운다' · Kubernetes 공식 블로그 StatefulSet PVC Auto-Deletion (beta)

PodDisruptionBudget(PDB)

kubectl drain 등 Eviction API를 통한 자발적 축출에 대해 '이 밑으로는 가용 Pod 수가 줄면 안 된다'는 하한선을 설정하는 리소스. minAvailable 또는 maxUnavailable 중 하나로 지정하며, 노드 하드웨어 장애 같은 비자발적 장애는 막지 못한다.
PodDisruptionBudget — 자발적 축출에 '이 밑으로는 안 된다' 선을 긋는다 · Kubernetes 공식문서 Pod Disruption Budgets

readinessProbe와 Service 엔드포인트

readinessProbe가 실패한 Pod는 컨테이너 재시작 없이 Service의 트래픽 라우팅 대상(엔드포인트) 목록에서만 제외된다. 프로브가 다시 성공하면 자동으로 엔드포인트 목록에 복귀한다.
Liveness/Readiness/Startup Probe — 세 헬스체크의 서로 다른 결과 · Kubernetes 공식문서 Pod Lifecycle — Container probes

Role vs ClusterRole

Role은 특정 네임스페이스에 속해 그 안의 리소스 권한만 정의하는 namespaced 리소스, ClusterRole은 네임스페이스에 속하지 않고 클러스터 스코프 리소스나 여러 네임스페이스에 걸친 권한을 정의할 수 있는 non-namespaced 리소스다.
RBAC — 누가 K8s API 자체에 무엇을 할 수 있는가 · Kubernetes 공식문서 Using RBAC Authorization

Taint / Toleration

taint는 노드가 스스로에게 붙여 '이 taint를 감수하지 않는 Pod는 오지 마라'고 밀어내는 표식이고, toleration은 Pod가 특정 taint를 감수하겠다고 선언하는 허용이다. 서로 안 맞으면 Pod는 그 노드에 스케줄되지 못한다.
Pod가 Pending에서 안 움직일 때 — 스케줄링 실패 원인과 진단 · 웹 리서치 종합(Komodor, Datadog, Kubernetes 공식문서 taint-and-toleration)

Topology Spread Constraints

topologyKey로 묶은 토폴로지 도메인(노드·가용영역 등)에 걸쳐 Pod를 얼마나 균등하게(maxSkew) 분산시킬지 지정하는 스케줄링 제약. whenUnsatisfiable로 그 균형을 못 지킬 때의 동작(강제 거부 또는 완화)을 정한다.
Topology Spread Constraints — Pod를 물리적으로 골고루 흩뿌린다 · Kubernetes 공식문서 Pod Topology Spread Constraints

헤드리스 서비스(Headless Service)

clusterIP: None으로 설정해 단일 가상 IP를 만들지 않고, 대신 각 Pod마다 개별 DNS 레코드를 만들어주는 Service. StatefulSet과 짝을 이뤄 특정 Pod를 이름으로 직접 지목해 접속할 수 있게 한다.
StatefulSet — 순서와 고유 정체성이 필요한 워크로드 · Kubernetes 공식문서 StatefulSets, Basic StatefulSet Tutorial