首页 > 其他分享 >Pod的创建过程原理

Pod的创建过程原理

时间:2023-06-28 23:57:05浏览次数:41  
标签:replicaset 创建 APIServer controller Deployment 原理 Pod pod

Pod的创建过程原理

  1.  首先,用户通过kubectl或web端向APIServer发送创建pod的请求;
  2. APIServer会做出认证/鉴权响应,然后检查信息并把数据存储到ETCD里,创建Deployment资源并初始化;
  3. controller-manager通过list-watch机制,检查发现新到Deployment,将资源加入到内部工作队列,然后检查发现资源没有关联的pod和replicaset,启用Deployment controller创建replicaset资源,再通过replicaset controller创建pod。
  4. controller-manager创建完成后将Deployment,replicaset,pod资源更新存储到etcd;
  5. scheduler也是通过list-watch机制,监测发现新的pod,并通过预选及优选策略算法,来计算出pod最终可调度的node节点,并通过APIServer将数据更新至etcd;
  6. kubectl 每隔20s(可以自定义)向APIServer通过NodeName获取自身Node上所要运行的pod清单;通过与自己内部缓存进行比较,如果有新的资源则触发钩子调用CNI接口给pod创建pod网络,调用CRI接口去启动容器,调用CSI进行存储卷的挂载,然后启动pod容器;
  7. kube-proxy为新创建的pod注册动态DNS到CoreOS。给pod的service添加iptables/ipvs规则,用于服务发现和负载均衡;
  8. Controller通过control loop(控制循环)将当前pod状态与用户所期望的状态做对比,如果当前状态与用户期望状态不同,则controller会将pod修改为用户期望状态,实在不行会将此pod删掉,然后重新创建pod。

 

标签:replicaset,创建,APIServer,controller,Deployment,原理,Pod,pod
From: https://www.cnblogs.com/yypc/p/17512872.html

相关文章

  • is620n,is620p,is620,伺服驱动器的代码和原理等
    is620n,is620p,is620,伺服驱动器的代码和原理等原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/662030618032.html......
  • springboot mybatis mapper 注入原理浅析
    spring+mybatis是我们常用的开发组合,一般情况,我们只需要写一个Mapper接口 加上@Mapper注解就可以使用了,那么他的工作原理是什么呢?标准mybatis调用应该是这样的流程1//读取配置2InputStreamconfig=Resources.getResourceAsStream("mybatis-config.xml");3//根......
  • Donaukit用户创建
    mkdir-p/workspace/donauchownroot:root/workspace/donauchmod755/workspace/donau-Rmkdir-p/workspace/licensechownccs_master:ccs_master/workspace/licensechmod770/workspace/license-Rmkdir-p/workspace/datachownccs_master:ccs_master/wor......
  • 深入浅出synchronized的原理与源码
    深入浅出synchronized的原理与源码1.java对象头关于锁的标识1.对象头//32bits://--------//hash:25------------>|age:4biased_lock:1lock:2(normalobject)//JavaThread*:23epoch:2age:4biased_lock:1lock:2(biasedobject......
  • SpringIOC原理
    Spring通过一个配置文件描述Bean及Bean之间的依赖关系,利用Java语言的反射功能实例化Bean并建立Bean之间的依赖关系。Spring的IoC容器在完成这些底层工作的基础上,还提供了Bean实例缓存、生命周期管理、Bean实例代理、事件发布、资源装载等高级服务。Spring容器高层视图Spring启动时......
  • Linux-嵌入式设备启动运行的原理
    嵌入式设备上电运行的内部启动机制Centos主机连接嵌入式开发板串口的工具有:minicom、screenminicom使用方法:1.#minicom-s进去设置端口和波特率后,重新输入#minicom进去即可。screen的使用方法:1.#screen/dev/ttyUSB0115200第一步:启动目标板。由U-BOOT启动加载引导程序,......
  • 前端项目创建
    1.public文件1.1  ico文件是浏览器上显示的小图标1.2  index.html单页应用的唯一html文件2.src文件夹2.1  api会去封装我们发给后端的请求2.2  request.js帮我们封装了axios2.2.1  请求拦截器帮你往请求头里面塞数据进去  2.2.2 响应拦截器  ......
  • 创建模式-抽象工厂
    #创建型模式-抽象工厂模式#在工厂抽象类中有多个创建对象的方法,fromabcimportABCMeta,abstractmethodclassIApple(metaclass=ABCMeta):@abstractmethoddefshow(self):passclassHFSApple(IApple):defshow(self):print("红......
  • Java阻塞队列原理
    阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况:1.当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。2.当队列中填满数据的情况下,生产者端的所有线程都会自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。阻塞队列的......
  • jdk动态代理实现原理
    动态代理的作用  我们都知道,spring的面向切面编程默认由jdk动态代理和cglib动态代理实现,使用动态代理我们可以无侵入的实现切面编程,比如日志管理、权限管理、事务管理等。jdk动态代理是面向接口的,cglib是面向普通类。弄明白了这两种动态代理实现原理也就懂了spring的aop编程。j......