k8s创建启动、删除pod的实现过程

 更新时间:2026年01月28日 14:25:30   作者:姚大大旺  
Kubernetes中Pod是管理容器的最小单元,包括创建、管理和删除过程,Pod状态包括Pending、Running、Succeeded、Failed和Unknown

Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元,pod中可能部署一个或者多个容器,这些容器能够共享网络、存储以及 CPU、内存等资源

1.k8s创建pod的过程

1).kubectl将创建pod的yml文件提交到master节点中的api server后,api server将yml数据存入etcd(类似数据库)

2).master节点中的schedule通过list watch监听到etcd中有创建pod的请求后,查看到请求创建的pod,schedule寻找空闲的node,并且将pod绑定导此node中,然后apiserver会将此结果写入etcd

3).当此node中的kubelet监听到有pod绑定过来,然后kubelet就开始通过docker创建启动容器,docker把创建的结果反馈给kubelet,最后api server将创建结果写入etcd

4).通过kubectl get pod,获取pod,注意:pod一旦绑定到一个节点,pod将永远不会重新绑定到另一个节点

2.k8s删除pod的过程

1).用户发出删除pod命令,此时pod被视为死亡状态,将pod标记为“Terminating”状态(这时候pod会有一个宽限时间30秒)

2).kubelet监控到pod对象为“Terminating”状态的同时启动pod关闭过程

3).endpoints控制器监控到pod对象关闭,将pod与service匹配的endpoints列表中删除,pod内对象的容器收到TERM信号

4).当一切准备完毕后,kubelet请求api server 将此pod资源宽限期设置为0从而完成删除操作

3.pod的状态status

1)Pending挂起:pod没有调度到节点上,可能还在下载镜像,容器还未启动

2).Running运行中:pod已经绑定到一个node上,pod中的容器已经创建,有一个或者个容器已经运行

3).Succeeded成功:Pod中所有的容器都被成功终止,并且不会被重启。

4).Failed失败:Pod中的所有容器都已经终止了,并且至少有一个容器是因为失败终止。也就是说,容器以非0状态退出或者被系统终止

5).Unknown未知:因为某些原因无法取得Pod状态,通常是因为与Pod所在node失去通信造成失联。

4.总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • k8s搭建nfs共享存储实践

    k8s搭建nfs共享存储实践

    本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限和StorageClass,实现存储验证
    2025-09-09
  • kubeadm部署k8s集群全过程

    kubeadm部署k8s集群全过程

    本文详细描述了如何在VMware虚拟机上基于CentOS8操作系统搭建Kubernetes集群,包括环境准备、Docker安装、Kubernetes组件安装、网络插件配置以及KuboardUI的安装和访问
    2025-01-01
  • 详解Kubernetes 中容器跨主机网络

    详解Kubernetes 中容器跨主机网络

    这篇文章主要为大家介绍了Kubernetes中容器跨主机网络是怎么样的,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 云原生技术持久化存储PV与PVC

    云原生技术持久化存储PV与PVC

    这篇文章主要介绍了云原生技术持久化存储PV与PVC
    2022-03-03
  • 详解Rainbond内置ServiceMesh微服务架构

    详解Rainbond内置ServiceMesh微服务架构

    这篇文章主要为大家介绍了详解Rainbond内置ServiceMesh微服务架构,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 带你学会k8s 更高级的对象Deployment

    带你学会k8s 更高级的对象Deployment

    这篇文章主要为大家介绍了k8s还有更高级的"对象"Deployment使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • kubernetes YAML文件的使用

    kubernetes YAML文件的使用

    这篇文章主要介绍了kubernetes YAML文件的使用,帮助大家更好的理解和学习使用kubernetes,感兴趣的朋友可以了解下
    2021-04-04
  • ragflow k8s部署过程图文详解

    ragflow k8s部署过程图文详解

    这篇文章主要介绍了ragflow k8s部署详细过程,本文将使用ragflow-0.18.0,来进行演示详细部署过程,需要的朋友可以参考下
    2025-04-04
  • Kubernetes调度管理优先级和抢占机制详解

    Kubernetes调度管理优先级和抢占机制详解

    这篇文章主要为大家介绍了Kubernetes调度管理优先级和抢占机制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • K8s Service服务发布方式

    K8s Service服务发布方式

    文章介绍了Kubernetes中标签(Label)用于资源分组,标签选择器(Selector)用于精准匹配;Service作为服务抽象,通过标签选择器关联Pod,提供稳定访问入口(ClusterIP/NodePort);Endpoint记录Pod网络信息,实现服务发现与流量分发
    2025-08-08

最新评论