1. static Pod
- API 서버 없이 특정 노드에 있는 kubelet 데몬에 의해 직접 관리됨
- /etc/kubernetes/manifests/ 디렉토리에 k8s yaml 파일을 저장 시 적용됨 (yaml 파일 삭제 시 파드도 자동 삭제)
- static pod 디렉토리 구성
# vi /var/lib/kubelet/config.yaml //kubelet 데몬의 config 파일
...
staticPodPath: /etc/kubernetes/manifests
파일 내용 수정 시 kubelet 데몬 재실행 필수!
# systemctl restart kubelet
2. Pod에 리소스(cpu, memory) 할당하기
Pod Resource 요청 및 제한
① Resource Requests
- 파드를 실행하기 위한 최소 리소스 양을 요청
② Resource Limits
- 파드가 사용할 수 있는 최대 리소스 양을 제한
- Memory limit을 초과해서 사용되는 파드는 종료(OOM Kill)되며 다시 스케줄링 된다.
- https://kubernetes.io/ko/docs/tasks/configure-pod-container/assign-memory-resource/
Container Resource 설정 예
$ cat pod-nginx-resource.yaml
apiVersion: v1
kind: Pod
metadata:
name: memory-demo-2
namespace: mem-example
spec:
containers:
- name: memory-demo-2-ctr
image: polinux/stress
resources:
requests:
cpu: 200m
memory: "50Mi"
limits:
cpu: 1
memory: "100Mi"
command: ["stress"]
args: ["--vm", "1", "--vm-bytes", "250M", "--vm-hang", "1"]
$ kubectl get pods
$ kubectl describe pod nginx-pod-resource
..
Limits:
cpu: 1
memory: 500Mi
Requests:
cpu: 200m
memory: 250Mi
Reference
'Cloud > Kubernetes' 카테고리의 다른 글
[Kubernetes] Pod의 환경변수 설정하기 (0) | 2021.12.10 |
---|---|
[Kubernetes] Kubernetes Pod | init container (0) | 2021.12.09 |
[Kubernetes] Kubernetes Pod | livenessProbe (0) | 2021.12.09 |
[Kubernetes] Kubernetes pod | pod 생성, 관리 (0) | 2021.12.08 |
[Kubernetes] 쿠버네티스 아키텍쳐 | yaml, API (0) | 2021.12.07 |