共计 430 个字符,预计需要花费 2 分钟才能阅读完成。
k8s 调度是比拟外围的性能,由多个组件单干实现。
用户创立 pod 对象后,先会进入 pending 状态,期待调度器调度。
- kube-scheduler watch 到新建的 Pod
- kube-scheduler 调用 scheduleOne 进行具体调度
- predict 筛选满足 scheduler 配置的调度算法的条件的节点
- 如果 Pod 配置了长久化,kube controller manager 调用 AssumePodVolumes 校验节点是否满足 pvc 指定的长久化条件
- 遍历上述筛选出的节点,打分,排序
- kube controller manager 中的 scheduler binder 组件调用 BindPodVolumes 更新 pvc 状态
- kube controller manager 中的 pv controller watch 到 pvc 更新后触发对应的 pv plugin provisioner
- pv plugin provisioner 执行 Provision
- pv 绑定完后,scheduler 执行 pod 和 node 的绑定
- 实现
正文完