Skip to content

Instantly share code, notes, and snippets.

@Yapcheekian
Last active March 4, 2022 05:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yapcheekian/8db1440e217ac855119d179e8b6ce15a to your computer and use it in GitHub Desktop.
Save Yapcheekian/8db1440e217ac855119d179e8b6ce15a to your computer and use it in GitHub Desktop.
K8s deep dive
docker run -it --rm k8s.gcr.io/kube-apiserver:v1.19.0 kube-apiserver --help

docker run -it --rm k8s.gcr.io/kube-scheduler:v1.19.0 kube-scheduler --help

Custom Scheduler

apiVersion: v1
kind: Pod
metadata:
  name: kube-scheduler-custom
  namespace: kube-system
spec:
  containers:
  - name: kube-scheduler-custom
    image: k8s.gcr.io/kube-scheduler:v1.19.0
    command:
    - kube-scheduler
    - --kubeconfig=/etc/kubernetes/scheduler.conf
    - --leader-elect=false
    - --scheduler-name=custom-scheduler
    - --feature-gates=AllBeta=false
    volumeMounts:
    - mountPath: /etc/kubernetes/scheduler.conf
      name: kubeconfig
      readOnly: true
  nodeName: minikube
  restartPolicy: Always
  volumes:
  - hostPath:
      path: /etc/kubernetes/scheduler.conf
      type: FileOrCreate
    name: kubeconfig

Scheduler Extenders

apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
clientConnection:
  kubeconfig: /etc/kubernetes/scheduler.conf
extenders:
- urlPrefix: http://localhost:8888/
  filterVerb: filter
  ignorable: true
  weight: 1
- urlPrefix: http://localhost:8890/
  filterVerb: filter
  prioritizeVerb: prioritize
  bindVerb: bind
  ignorable: false
  weight: 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment