karpenter 에서 node 가 언제 종료(disruption) 될지 정의하는 정책
중단 프로세스
karpenter.sh/do-not-disrupt 세팅) 가 있을 경우 패스karpenter.sh/disrupted:NoSchedule taint 추가WhenEmpty : node에 워크로드가 없을 때만 제거WhenEmptyOrUnderutilized : node 리소스 활용률 낮을 때 통합0sconsolidateAfter: 30s 설정시, node가 비거나 활용률 낮아진 상태가 30초 유지되면 통합 실행node 에 대한 최대 life cycle 제한
expireAfter 로 지정한 시간이 지나면 교체ttlSecondsUntilExpired 였으나 deprecatedex)
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
name: default
spec:
disruption:
consolidationPolicy: WhenEmptyOrUnderutilized
budgets:
- nodes: "20%"
reasons:
- "Empty"
- "Drifted"
- nodes: "5"
- nodes: "0"
schedule: "@daily"
duration: 10m
reasons:
- "Underutilized"