Scheduling Gates
개요
보통 파드는 생성되면 바로 kube-scheduler가 스케줄링을 시도한다.
그런데 간혹 스케줄링이 바로 되지 않고 조금 지연되거나 특정 조건을 만족할 때 스케줄링되길 바랄 수도 있다.
이럴 때 사용하는 것이 스케줄링 게이트로, Readiness Gates, Finalizer처럼 실제로 스케줄이 가능한 상태가 되기 이전 행동을 유예하는 기능을 한다.
사용법
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
schedulingGates:
- name: example.com/foo
- name: example.com/bar
containers:
- name: pause
image: registry.k8s.io/pause:3.6
스케줄링 게이트는 단순하게 리스트를 넣는 방식으로 설정한다.
이렇게 설정하면 파드의 status는 이런 식으로 표시된다.
스케줄링이 이뤄지도록 하고 싶다면 직접 edit을 하던가 patch를 통해 각 스케줄링 게이트를 지워주기만 하면 된다.
스케줄링 게이트가 걸린 상황에서 파드의 스케줄링 관련 스펙을 바꾸는 것이 가능하다.
근데 기본적으로는 필드를 추가하는 것만 가능하고 이미 설정한 필드를 삭제하거나 변경하는 것은 불가능하다.
그래도 스코어링에만 관여하는 스케줄링 기능들은 마음대로 변경하는 것이 가능하다.
관련 문서
이름 | noteType | created |
---|---|---|
Scheduling Gates | knowledge | 2025-03-19 |