在K8S中,Pod创建过程包括什么?
在Kubernetes(K8s)中,Pod的创建过程通常包括以下步骤:
提交Pod定义:
用户通过kubectl命令行工具或者调用API Server接口,提交一个包含Pod配置信息的YAML或JSON文件。这个配置文件详细描述了Pod的元数据(如名称、标签等)、容器镜像、环境变量、端口映射、卷挂载以及其他运行时参数。接收并验证请求:
Kubernetes API Server接收到创建Pod的请求后,会进行一系列的验证,确保提交的资源配置是有效的,并且符合集群的安全策略和准入控制规则。持久化资源状态:
当配置信息验证成功后,API Server将Pod的规格信息写入etcd分布式存储系统中,这样集群的所有组件都能获取到最新的Pod创建请求。调度Pod:
调度器(Scheduler)监听etcd中的事件,当发现新的未被调度的Pod时,它根据Pod的资源需求、节点标签选择器以及各种调度策略,为Pod选择合适的Node节点。通知kubelet:
一旦调度完成,API Server会通知目标节点上的kubelet代理,告诉它应该在其管理的节点上启动一个新的Pod。kubelet初始化Pod:
kubelet接收到指令后,在本地执行Pod创建流程,包括:- 检查所需镜像是否已下载至本地,如果没有则从指定的镜像仓库拉取。
- 创建命名空间、网络命名空间以及必要的网络设备和端点。
- 根据Pod模板创建并启动容器,设置环境变量、挂载卷等。
- 监控容器的状态,包括健康检查(Liveness Probe, Readiness Probe等)。
容器运行与监控:
容器运行后,kubelet持续监控其生命周期和资源使用情况。如果容器失败或不符合预期状态,kubelet会按照Pod定义中的重启策略进行处理。更新Pod状态:
随着Pod创建过程的推进,kubelet不断向API Server报告Pod和容器的最新状态。当所有容器均达到期望状态(例如Ready状态),Pod将被视为处于“Running”状态,并可对外提供服务。
综上所述,创建Pod是一个涉及多个组件协同工作的复杂过程,从用户提交请求到最终容器成功运行,Kubernetes集群内的各个组件共同保证了Pod能够稳定、高效地运行在适当的节点上。
在K8S中,Pod创建过程包括什么?的更多相关文章
- K8S中Pod概念
一.资源限制 Pod 是 kubernetes 中最小的资源管理组件,Pod 也是最小化运行容器化应用的资源对象.一个 Pod 代表着集群中运行的一个进程.kubernetes 中其他大多数组件都是围 ...
- k8s 中 Pod 的控制器
k8s 中 Pod 的控制器 前言 Replication Controller ReplicaSet Deployment 更新 Deployment 回滚 deployment StatefulS ...
- K8S中pod和container的资源管理:CPU和Memory
K8S中创建pod时,可以显示地指明包含的container的资源需求(resouce request和resource limit),通常是CPU和Memory(RAM). kube-schedul ...
- Java中对象创建过程
本文介绍的对象创建过程仅限于普通Java对象,不包括数组和Class对象. 1.类加载检查 虚拟机遇到一条new指令时,首先去检查该指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用 ...
- Kubernetes中pod创建流程
转自:https://blog.csdn.net/yan234280533/article/details/72567261 Pod是Kubernetes中最基本的部署调度单元,可以包含contain ...
- k8s 基础 pod创建流程
Pod是Kubernetes中最基本的部署调度单元,可以包含container,逻辑上表示某种应用的一个实例.例如一个web站点应用由前端.后端及数据库构建而成,这三个组件将运行在各自的容器中,那么我 ...
- K8s中Pod健康检查源代码分析
了解k8s中的Liveness和Readiness Liveness: 表明是否容器正在运行.如果liveness探测为fail,则kubelet会kill掉容器,并且会触发restart设置的策略. ...
- k8s中pod内dns无法解析的问题
用k8s创建了pod,然后进入pod后,发现在pod中无法解析www.baidu.com,也就是出现了无法解析外面的域名的问题.经过高人指点,做个小总结.操作如下. 一,将CoreDNS 的Confi ...
- oracle中的创建过程,函数,包
一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...
- Jenkins和Gitlab CI/CD自动更新k8s中pod使用的镜像说明
Jenkins 使用Jenkins的话,完成的工作主要有如下步骤: 1.从Gogs或Gitlab仓库上拉取代码 2.使用Maven编译代码,打包成jar文件 3.根据jar文件使用相对应的Docker ...
随机推荐
- 不知如何优选达人?火山引擎 VeDI 零售行业解决方案一键解决!
技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 "人-货匹配"这句营销老话,在直播电商兴起的这几年,似乎不再专指消费者与商品之间的关系. 过去 ...
- why哥这里有一道Dubbo高频面试题,请查收。
这是why的第 64 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 64 篇.老规矩,先荒腔走板聊聊其他的. 上面这图是我之前拼的一个拼图. 我经常玩拼图,我大概拼了 ...
- Axure 母版与元件
需要重复使用的元件,建议创建成母版: 如果修改了母版,所有页面中的母版元件将会被同步修改 元件:添加后,所有的 Axure 都可以使用 母版:只适用当前的 Axure 原型 拖放行为: 任意位置:可以 ...
- 【PS算法理论探讨三】 Photoshop中图层样式之 颜色叠加/渐变叠加/图案叠加 算法原理初探讨。
这三个表面上看上去很简单,我们就先描述简单的部分. 颜色叠加:这个和编辑菜单下的填充 颜色 基本是一个意思,相当于在原有的图层上部添加了一个纯实色的虚拟图层,选项里的不透明度和混合模式和普通的概念是一 ...
- 【奥运会】yahoo的这个骚操作令人费解。。。
昨天在朋友圈发了一张截图,貌似很多朋友没有 get 到点,我也实在搞不懂 Yahoo 的这波操作. 默认排序是按照金牌总数,那必然是美国第一名了.不过习惯上不应该是按照金牌总数进行排名吗?毕竟金银铜牌 ...
- 解决ssh远程登录Too many authentication failures报错
远程登录失败,报错,造成无法登录的情况,原因为:多次输入密码失败导致登录异常. 解决方案: 1.登录主机:vi /etc/ssh/sshd_config 2.找到MaxAuthTries,修改数值变大 ...
- python代码打包exe程序
1.安装pyinstaller 命令行输入:pip install pyinstaller 2.打包exe程序 输入命令:pyinstaller -F -w *.py(星号是.py的全部路径) pyi ...
- 项目启动一直 DruidDataSource inited,启动很慢
解决方案: 由于在调试过程中,代码中设置了断点,在启动的时候,服务就一直卡住了,当关闭断点,重新启动就ok了.
- Ubuntu Linux下的PDF阅读器推荐——Okular
安装方法 在Ubuntu下直接使用sudo apt-get install okular即可,如果中间遇到依赖项的问题,可以通过运行sudo apt --fix-broken install来自动修复 ...
- 问题--flask无法发邮件,无法登录
1.问题 早上测试项目的时候,一直无法正确发送邮件,无法接收,但是查不出原因是什么 2.解决 改变了一下思路,去登录了不需要邮件验证码的用户,发现错误 这个错误提示是一个数据库连接错误,表明应用程序无 ...