전체 글30 [Scheduling] Resource Requirements and Limits 앞서 공부했듯이, 스케쥴러가 노드의 리소스 현황을 확인하고 파드를 배정해줍니다. 만약 어떤 노드에 더 이상 자원이 없을 때는 해당 노드에 파드를 배정하지 않습니다. 모든 노드에 자원이 없을 때는 리소스가 running 상태로 들어가지 못하고 pending 상태에 머물러 있다. 이 때 파드의 Events를 확인하(describe 명령어)면 Insufficient cpu 혹은 memory 등으로 상태를 확인할 수 있다. Resource Requests apiVersion: v1 kind: Pod metadata: name: simple-webapp-color labels: name: seimple-webapp-color spec: containers: - name: simple-webapp-color ima.. 2024. 1. 19. Node Selectors & Node Affinity⭐⭐⭐ Node Selector 와 Node Affinity를 사용하여 파드가 특정 노드에만 실행되도록 제한을 설정할 수 있습니다. 특정한 노드들에서만 동작하거나 특정한 노드 집합에서 동작하는 것을 선호하도록 제한 설정이 가능합니다. 1. Node Selector 파드의 spec 섹션에 node selector라는 새 필드를 추가하여 간단하고 쉽게 설정이 가능합니다. node selector에서 레이블을 사용하므로 파드 생성 전에 우선 노드에 레이블을 지정해 줘야 한다. 설정한 노드 이름을 key-value 형식으로 사용하여 node selector에서 설정할 수 있습니다. apiVersion: v1 kind: Pod metadata: name: myapp-pod spec: containers: - name: .. 2024. 1. 19. Taints and Tolerations⭐⭐⭐ 쿠버네티스에서 노드 간의 스케쥴링과 pod의 배치를 제어하는 데에 Taints 와 Tolerations 가 사용됩니다. 이를 통해 특정 노드에서 실행되길 원치 않는 파드를 특정할 수 있습니다. Taint 는 노드에, Toleration은 파드에 설정됩니다. Taints Taint는 노드에 부착되는 레이블과 유사한 메커니즘으로, 다른 점은 반대의 의미를 갖고 있다는 것입니다. 테인트를 설정하면 해당 노드에서 실행되길 원치 않는 pod 를 정의할 수 있습니다. 특정 노드에 특별한 요구사항이 있는 경우, 이 노드에 테인트를 추가하여 다른 파드가 그 노드에 스케쥴링 되는 것을 방지합니다. node affinity와 다른 점은, node affinity는 pod가 특정 노드를 선택하게 하는 속성이었다면 taint.. 2024. 1. 18. [Scheduling] Pod Scheduling Process, nodeName 파드가 노드에 배포되기까지 스케쥴러는 쿠버네티스 시스템 컴포넌트 중 하나이며, 클러스터 내의 노드 간에 파드를 균등하게 분산시키고 리소스를 효과적으로 활용하기 위해 노력합니다. 또한, 스케쥴러는 사용자가 지정한 제약 조건과 우선순위를 고려하여 파드를 적절한 노드에 배치함으로써 클러스터의 안정성과 효율성을 유지합니다. Pod 생성 요청 스케쥴러는 Api Server를 통해 노드가 할당되지 않은 파드 감지 스케쥴러가 파드를 스케쥴링 큐에 추가 스케쥴러는 파드가 어느 노드에서 실행될지를 결정하기 전에 노드에 대한 우선순위 및 제약 조건을 평가 이러한 우선순위 및 제약 조건은 스케쥴링 알고리즘에 의해 설정될 수 있으며, 예를 들어 리소스 요구 사항, 라벨 선택, 노드의 부하 등이 고려됩니다. 스케쥴러는 파드를 .. 2024. 1. 18. 이전 1 ··· 3 4 5 6 7 8 다음