第二篇:k8s工作流程

我们来看通过deployment部署pod的常规流程:

  1. kubectlapiserver发送部署请求(例如使用 kubectl create -f deployment.yml)
  2. apiserver 将 Deployment 持久化到etcd;etcd与apiserver进行一次http通信。
  3. controller manager 通过watch api监听 apiserverdeployment controller 看到了一个新创建的deplayment对象 更后,将其从队列中 拉出,根据deployment的描述创建一个ReplicaSet 并将 ReplicaSet 对象返回apiserver并持久化回etcd。 以此类推,当replicaset控制器看到新创建的replicaset对象,将其从队列中拉出,根据描述创建pod对象。
  4. 接着scheduler调度器看到未调度的pod对象,根据调度规则选择一个可调度的节点,加载到pod描述中nodeName字段,并将pod对象返回apiserver并写入etcd。
  5. kubelet在看到有pod对象中nodeName字段属于本节点,将其从队列中 拉出,通过容器运行时创建pod中描述的容器。

deployment-replicaset-pod的关系如下:

相关推荐
Benszen1 小时前
Docker容器化技术实战指南
运维·docker·容器
lin_dec+1 小时前
Serverless:零成本按需计算的未来
云原生·serverless
Hommy881 小时前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
斯普信云原生组3 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
喵了几个咪3 小时前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
工具罗某人3 小时前
docker compose部署kafka集群搭建
docker·容器·kafka
迷藏4944 小时前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构
刘~浪地球4 小时前
架构设计--事件驱动架构设计与实现(05)
云原生·系统架构·云计算
鬼先生_sir4 小时前
Zookeeper:从入门到精通
分布式·zookeeper·云原生
marsh02064 小时前
31 openclaw微服务架构实践:构建分布式系统
微服务·ai·云原生·架构·编程·技术