GitHub

https://github.com/Choidongjun0830

2024/12/16 3

Node Selector, Node Affinity

Node SelectorPod가 특정 노드에서만 작동하도록 하는 것.복잡한 요구 사항이 있으면 Node Selector로는 구현 불가 apiVersion: v1kind: Podmetadata: name: myapp-podspec: containers: - name: data-processor image: data-processor nodeSelector: size: Large //label Node AffinityNode Selector와 달리 특정 노드에 특정 Pod를 할당하는 것을 제한 가능 apiVersion: v1kind: Podmetadata: name: myapp-podspec: containers: - name: data-processor image: data-p..

클라우드 2024.12.16

Taints and Tolerations

Taint는 오점.노드에 Taint를 설정해주는 것.Tolerations는 오점을 견딜 수 있는지.Pod가 노드의 오점을 견딜 수 있는지 설정해주는 것. 오점이 없으면 스케줄러는 Pod를 적절히 아무 노드에 할당할 수 있다.오점이 있으면 오점을 견딜 수 없는 Pod는 그 노드에 할당할 수 없다. Pod가 Node의 오점을 견딜 수 있다고 해서, 그 Pod가 무조건 그 Node로 가는 것이 아니다.이것은 nodeAffinity를 통해서 할 수 있다. Taints와 Tolerations는 그냥 Pod가 그 Node에 할당될 수 있는지만 설정하는 것이다.마스터 노드에는 자동으로 Taint가 설정되어서 Pod가 할당되지 않는 것이다. Node에 Taint 설정kubectl taint nodes node-name..

클라우드 2024.12.16

Maual Scheduling

클러스터에 스케줄러가 없다면 직접 스케줄링해야 한다. yaml 파일에는 nodeName이라는 필드가 있는데, 디폴트로는 설정되어 있지 않다.nodeName 필드는 스케줄러가 자동으로 추가하는 값이다. 스케줄러가 없다면, nodeName 필드가 비어있어서 Pod는 Pending 상태로 남아있을 것이다. nodeName 필드를 노드의 이름으로 채워줘야 한다. 그러면 Pod는 지정된 노드에서 만들어진다. 이미 만들어진 Pod를 다른 Node로 옮기고 싶다면 Binding Object가 필요하다. 이미 배포한 Pod의 nodeName을 수정하기 위해서는 yaml 파일 수정 후 delete 후 다시 배포하거나, replace 명령어를 통해서 바꾸어야 한다.

클라우드 2024.12.16
728x90