K8S中,pod的创建流程

kubelet创建pod流程

流程图

OCI(Open Container Initiative)是一个由docker社区发起的项目,Docker、containerd

CNI(Container Network Interface)网络配置:为容器分配IP地址、配置网络接口、设置路由

CSI(Container Storage Interface),存储卷的创建与删除:支持动态创建和删除持久存储卷。卷的挂载与卸载:将存储卷挂载到容器中,使得容器能够读写数据。

文字版pod创建全流程

  • 用户把资源清单发送到api-server

  • api-server对来源数据进SSL证书验证、语法验证、权限验证(RBAC),验证通过后把相关信息写入到etcd

  • controler-manager通过watch实践监听到了etcd数据的变化,发现有控制器deploy 需要创建

scheduler通过watch监听到etcd数据发生变化,

1.kubelet组件调用 CRI(Container Runtime Interface容器运行接口)

符合cri规范的有:containerddcri-opodmancri-docker (也叫 docker-shim K8S 1.24移除)

2.run创建容器。OCI(开源容器提议),runc符合这一点。大部分CRI底层都是调用的 runc

容器创建阶段:

3.启动 pause 基础架构容器负责网络名称空间初始化

4.如果有初始化容器就会初始化容器

5.启动业务容器后先调用postStart函数;(启动容器时一次性

6.调用startupProbe探针;(启动容器时一次性)

7.周期性调用 livenessProbe 和 readinessProbe(启动容器后周期性执行)

8.当容器退出时,调用preStop函数,该函数必须在优雅终止。(terminationGracePeriodSeconds,若不定义,默认值为30s)之前结束;

相关推荐
唯情于酒6 小时前
Docker学习
学习·docker·容器
喵叔哟7 小时前
20.部署与运维
运维·docker·容器·.net
广州服务器托管10 小时前
NVIDIA最新591.74显卡驱动精简版:支持DLSS 4.5、所有RTX显卡都可使用,最新N卡驱动下载
计算机网络·网络安全·云原生·个人开发·可信计算技术
运维栈记12 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
lbb 小魔仙12 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
Joren的学习记录13 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
Hellc00713 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe13 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです13 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
Mr. Cao code15 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器