Search

NodePool

각 NodePool은 EC2NodeClass와 연결되어야 함
카펜터가 생성한 노드에만 파드가 배포되도록 테인트 설정 가능
노드가 특정 AZ, InstanceType, Architecture(x86/arm)로만 생성되도록 설정 가능
서로 다른 노드풀 사이에는 겹치는 조건이 없도록 구성할 것을 권장, 만약 겹치는 조건이 존재해서 특정 파드가 다수의 노드풀 조건을 만족할 경우, 파드는 가중치가 높은 노드풀에 파드 배치
카펜터가 생성한 노드에 대한 Expiration 기간 설정 가능
Startup 테인트 : Karpenter Agent 설치, 네트워크 설정 등 초기화 이후에 파드를 배치하도록 추가되는 테인트. 파드가 배포되기 전에 삭제됨. 따라서 파드는 이 테인트에 톨러레이트할 필요 없음.
Example
apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: default spec: template: metadata: labels: annotations: nodeClassRef: taints: startupTaints: expireAfter: # 기간이 지나면 카펜터에 의해 노드가 Drain + Delete terminationGracePeriod: # 노드 종료 전 Drain 가능한 여유 시간 requirements: # AZ, InstanceType, Architecture, OS, ... https://karpenter.sh/docs/concepts/nodepools/#well-known-labels disruption: # consolidationPolicy: # consolidateAfter: # budgets: limits: # cpu: # memory: # nvidia.com/gpu: weight: # https://karpenter.sh/docs/concepts/scheduling/#weighted-nodepools
YAML
복사