728x90
- 모든 Pod는 특정 Node 위에 할당이 되어야함
- 기본적으로는 Pod의 리소스를 토대로 스케줄러가 판단해서 적절한 Node에 배치됨
- 이때 Node에 자원이 많이 남아 있는 곳이 1순위로 선정
- 사용자가 직접 Node를 지정할 수도 있다.
- Memory가 limit을 넘을 경우, Pod는 OOM을 발생시키며 재시작된다.
3-1) Pod
apiVersion: v1
kind: Pod
metadata:
name: pod-3
spec:
# 이 Pod(=pod-3)는 반드시 k8s-worker1 노드에 배치해라
# Kubernetes Scheduler가 아무 노드나 고르는 게 아니라 노드 라벨 중에서
# kubernetes.io/hostname=k8s-worker1 라벨이 있는 노드만 선택한다.
nodeSelector:
# pod-3 → k8s-worker1 노드에만 생성 가능하다!
kubernetes.io/hostname: k8s-worker1
containers:
- name: container
image: kubetm/init
3-2) Pod
apiVersion: v1
kind: Pod
metadata:
name: pod-4
spec:
containers:
- name: container
image: kubetm/init
resources:
# 이 Pod를 실행하려면 최소 2Gi의 메모리가 필요
requests:
memory: 2Gi
# 컨테이너가 최대 3Gi까지만 사용 가능
limits:
memory: 3Gi
# pod-4는 최소 2Gi 확보 가능한 노드에 배치
# 최대 3Gi 까지만 메모리를 사용할 수 있다.
3-3) Pod
apiVersion: v1
kind: Pod
metadata:
name: pod-5
spec:
containers:
- name: container
image: kubetm/init
resources:
requests:
memory: 0.5Gi
limits:
memory: 0.5Gi'k8s' 카테고리의 다른 글
| 7. Services - ClusterIP | NodePort | LoadBalancer (0) | 2026.05.11 |
|---|---|
| 6. kubectl [create | apply | get | describe | delete | exec] (0) | 2026.05.08 |
| 4. Service (0) | 2026.05.07 |
| 3. labels (0) | 2026.05.07 |
| 1. Pod (0) | 2026.05.06 |