쿠버네티스는 확장성이 좋기 때문에 자신만의 K8s 스케줄러 프로그램을 작성하고 패키지화해서 기본 스케줄러, 혹은 추가 스케줄러로 배포할 수 있다.
구분기준 : scheduler-name
# kube-scheduler.service
ExecStart=/usr/local/bin/kube-scheduler \\\\
--config=/etc/kubernetes/config/kube-scheduler.yaml \\\\
--scheduler-name= default-scheduler
# my-custom-scheduler.service
ExecStart=/usr/local/bin/kube-scheduler \\\\
--config=/etc/kubernetes/config/kube-scheduler.yaml \\\\
--scheduler-name= my-custom-scheduler
apiVersion: v1
kind: Pod
metadata:
name: kube-scheduler
namespace: kube-system
spec:
containers:
- command:
- kube-scheduler
- --address=127.0.0.1
- --kubeconfig=/etc/kubernetes/scheduler.conf
- --leader-elect=true
image: k8s.gcr.io/kube-scheduler-amd64:v1.11.3
name: kube-scheduler
leader-elect
: 여러 스케줄러의 대표를 뽑기 위해 사용함. (여러 스케줄러 동시에 사용하려면 false
)- --lock-object-name=my-custom=scheduler
# custom schduler 구분 옵션