Kubernetes高级调度:节点与Pod亲和性详解
1. Kubernetes调度流程概述
在Kubernetes中,创建和运行Pod的请求发起后,会经历以下三个主要步骤:
1. 请求响应与数据库更新 :当通过 kubectl 命令或Kubernetes Deployment发起创建和运行Pod的请求时,API服务器会响应该请求,并在Kubernetes内部数据库(etcd)中添加一个待执行的Pod条目。不过,此时并不能保证该Pod一定会被调度。
2. 调度器计算与分配 :Kubernetes调度器会通过API服务器持续监控Kubernetes数据存储。一旦有Pod创建请求(或Pod处于待处理状态),调度器就会尝试进行调度。需要注意的是,调度器并不负责运行Pod,它只是计算出最适合托管该Pod的节点,并通知Kubernetes API服务器,API服务器会将此信息存储在etcd中。在这一步,Pod会被分配到最优节点,并且该关联信息会被存储在etcd中。
3. 节点执行与状态更新 :Kubernetes代理(kubelet)会通过API服务器持续监控Kubernetes数据存储。一旦有新的Pod被分配到某个节点,kubelet就会尝试在该节点上执行该Pod。当Pod成功启动并运行后,会通过API服务器在etcd中将其标记为运行状态,至此整个流程完成。
下面是这个流程的mermaid流程图:
graph LR
classDef startend f
超级会员免费看
订阅专栏 解锁全文

83

被折叠的 条评论
为什么被折叠?



