1. 개념 모든 노드마다 파드를 반드시 한 개씩 배포하는 특성 일반적으로 kube-proxy, calico 등 네트워크 관련 서비스가 데몬셋으로 배포됨 이외에도 클러스터 모니터링에 필요한 에이전트를 배포하는 등 다양한 목적으로 활용 가능 2. 동작 원리 데몬셋으로 배포되는 각 파드에 자동으로 노드 어피니티가 적용되어 모든 노드에 하나씩 배포되도록 함 3. YAML을 활용한 데몬셋 생성 nginx 컨테이너로 구성된 데몬셋을 생성하기 위한 YAML 내용 apiVersion: apps/v1 kind: DaemonSet metadata: name: test-mydaemonset spec: selector: matchLabels: app: agent template: metadata: labels: app: ag..
1. 개념 테인트는 노드의 관점에서 "특정(톨러레이션이 적용된) 파드만 여기에 배포해라!" 라는 목적으로, 톨러레이션이 적용된 파드는 테인트가 적용되지 않은 노드로 배포될 가능성 존재 노드 어피니티는 파드의 관점에서 "특정(노드 어피니티 조건에 부합하는) 노드로만 배포되라!" 라는 목적으로, 노드 어피니티가 적용되지 않은 파드가 노드 어피니티 조건에 부합하는 노드로 배포될 가능성 존재 따라서 테인트/톨러레이션과 노드 어피니티를 복합적으로 적용할 경우 특정 노드에는 특정 파드만 배포 가능하고, 특정 파드는 특정 노드로만 배포되도록 스케줄링 가능
1. 개념 파드를 kube-Scheduler에 의존하지 않고 엔지니어 의도에 따라 특정 노드에 배포할 수 있도록 핸들링하는 설정 배포조건/오퍼레이터/weight를 활용해 배포 스케줄링을 세부적으로 핸들링 할 수 있는 점이 nodeSelctor와의 차이점 2. 노드 어피니티 조건 배포조건 requiredDuringScheduling : 반드시 노드 어피니티 조건에 부합하는 노드에 배포하겠다는 의미 preferredDuringScheduling : 왠만하면 노드 어피니티 조건에 부합하는 노드에 파드를 배포하겠지만, 상황에 따라 조건에 맞지 않는 노드에 배포할 수도 있다는 의미 IgnoredDuringExecution : 파드가 배포되어 특정 노드에서 실행 중인 상황에서 해당 노드의 설정이 변경되어 어피니티 ..