pod命令怎么生成的,pod之间怎样通信的

首页 > 经验 > 作者:YD1662022-11-04 18:01:10

pod生命周期

我们一般将pod对象从创建致终的这段时间范围称为pod的生命周期,它主要包含下面的过程:

pod命令怎么生成的,pod之间怎样通信的(1)

在整个生命周期中,pod会出现5种状态,分别如下:

pod创建和终止

pod的创建过程

  1. 用户通过kubectl或其他api客户端提交需要创建的pod信息给apiserver
  2. apiServer开始生成pod对象的信息,并将信息存入etcd,然后返回确认信息至客户端
  3. apiServer开始反映etcd中的pod对象的变化,其它组件使用watch机制来跟踪检查apiServer上的变动
  4. schedule发现有新的pod对象要创建,开始为pod分配主机并将结果信息更新至apiserver
  5. node节点上的kubectl发现有pod调度过来,尝试调用docker启动容器,并将结果回送至apiserver
  6. apiserver将接收到的pod状态信息存入etcd

pod命令怎么生成的,pod之间怎样通信的(2)

pod的终止过程

  1. 用户向apiserver发送删除pod对象的命令
  2. apiserver中的pod对象信息会随着时间的推移而更新,在宽限期内(默认30秒),pod被视为dead
  3. 将pod标记为terminationg状态
  4. kubectl在监控到pod对象转移为terminating状态的同时启动pod关闭过程
  5. 端点控制器监控到pod对象关闭行为时将其从所有匹配到此端点的server的端点列表中移除
  6. 如果当前pod对象定义了preStop钩子处理器,则在其标记为terminating后即会同步的方式启动执行
  7. pod对象中的容器进程收到停止信息
  8. 宽限期结束后,若pod中还存在仍在运行的进程,那么pod对象会收到立即终止的信息
  9. kubectl请求apiserver将此pod资源的宽限期设置为0从而完成删除操作,此时pod对于用户已不可见

注意:非原创,是跟着黑马视频学习一个字一个字敲出来的笔记

视频地址:
https://www.bilibili.com/video/BV1xX4y1K7nb?p=2

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.