Node affinity 실습





Resources Limit?
- Scheduler가 Node위에 POD를 놓으려 할 때 Node의 자원량을 식별하여 사용가능한 충분한 양의 리소스가 있는 Node를 선택한다.
- 만약 배포하고자하는 응용프로그램이 이 이상의 자원이 필요하면 Pod나 deployment yaml 파일에서 지정함으로 값을 수정할 수 있다.
- pod 정의 파일에서는 resources: request: 항목에 memory 혹은 cpu 를 지정한다.
- cpu 1은 1 AWS vCPU, 1 GCP Core, 1 Azure Core, 1 Hyperthread 와 같다.
- Pod 가 사용하는 리소스 양에 제한을 둘 수 있다.
- Kubernetes는 기본적으로 container까지 vCPU 한 대로 제한한다. 명시적으로 지정하지 않는한 컨테이너가 노드에서 vCPU 하나만 사용하도록 기본 값으로 설정되어 제한된다.
- cpu는 한도 이상 사용이 불가능하지만 memory는 한도보다 많은 메모리를 소모하려하면 pod 가 종료된다.
Resources Limit 실습



Demon Sets?
- Demon Sets like replicaset
- 여러 개의 인스턴스 pod를 배포하도록 도와준다.

- Demon Set 모니터링 에이전트를 클러스터의 모든 노드에 pod 형태로 배포한다.
- 클러스터 내 모든 Node 에 필요한 worker node 구성요소인 kube-proxy 같은 것을 Demon Set 을 사용해서 배포한다. 각 node에 하나씩은 꼭 필요한 구성 요소이기 때문이다.

Demon 실습


Static Pod?
- Kubelet 은 각각 의 노드를 관리할 수 있다.
- Kubelet pods 를 만들 줄 안다.
- Pod를 만들기 위해선 세부 정보가 있어야 한다.
- Kubelet을 설정하면 pod에 대한 정보를 읽을 수 있다.
- app 이 다운되면 Kubelet이 재시작한다.
- api 서버랑 Kubernetes Cluster 구성요소의 개입없이 Kubelet 스스로 만든걸 Static pods라고 한다.
- Kubelet 은 pods레벨에서만 작업해서 pod 만 이해 할 수 있다.
Static Pods 실습




