kubelet代码整理
来源:互联网 发布:有机蔬菜网络营销策划 编辑:程序博客网 时间:2024/06/14 15:17
最近由于生产环境的k8s集群经常出现如下三个问题:
- pod删除的时候一直处于terminating状态
- pod创建过后一直处于ContainerCreating状态
- 每个k8s的node节点存在大量Exit状态的pause容器
以下对三种现象的表现形式列以下:
- pod删除的时候一直处于terminating,经过排查有几个原因:1)pod对应的资源为被回收完毕(k8s在回收的过程中出错,比如:挂在的存储为释放成功,挂在的default-token为释放成功等),还有一个就是所有资源都释放成功,仍然处于terminating
- pod创建过程中一直处于ContainerCreating状态,报错:podSandbox changed, it will be killing and recreate it. 该原因是因为node节点上存在很多的Exit状态的pause容器(和pod相关联的,通常在statefulset使用的时候经常会遇到),导致在创建过程中,kubelet的缓存中同时存在多个pod对应的sandbox容器。
- 每个k8s的node节点存在大量Exit状态的pause容器,发生该问题通常会导致问题1,2的产生,该问题是因为k8s在删除pod的时候,去释放pod的资源,调用stopSanbox函数,其中在调用cni插件calico去释放网络网络资源的时候,cni反反错误,报workendpoint找不到,同时停止了sanbox容器。导致后续的removeSandbox方法未执行,所以导致大量的Exit的pause容器。
在排查这三个问题的时候,看了kubelet的一些代码,整理个图
阅读全文
0 0
- kubelet代码整理
- kubelet GC代码整理
- kubelet代码整理 (2)
- kubelet代码整理(3)
- kubernetes中kubelet代码解析
- 代码整理
- 代码整理
- kubelet启动流程
- Kubelet 源码走读(1)
- kubelet 最佳配置
- kubelet源码分析
- kubelet VolumeManager 流程
- kubelet gc源码分析
- Kubelet 源码剖析
- Kubelet组件解析
- kubernetes源码分析 -- kubelet组件
- kubelet源码分析(未完成)
- 修改 K8s kubelet启动参数
- scala文件的maven编译问题
- 洛谷P1455 搭配购买
- Activity之间的跳转及销毁所有Activity的正确姿势
- 游戏实践一
- 【Unity优化】概要
- kubelet代码整理
- 除了跨平台和平台成本以外,Java 还有什么特性是 C# 不具备的?
- 用电路做加法
- JS基础梳理
- 一个粗糙的二人贪吃蛇联机版实现
- tornado之supervisor nginx部署
- HTML Imports
- 数组对象排序
- 基于Struts2和hibernate的WebSocket聊天室的实现教程二:发送在线列表