K8Spod组件
一个pod能包含几个容器
| 一个pause容器(基础容器/父容器/根容器) 一个或者多个应用容器(业务容器) 通常一个Pod最好只包含一个应用容器,一个应用容器最好也只运行一个业务进程。 同一个Pod里的容器都是运行在同一个node节点上的,并且共享 net、mnt、uts、 pid、 ipc 命名空间。 |
pod的定义
| 1 | Pod是k8s中最小的资源管理组件 |
| 2 | Pod也是最小化运行容器化的应用的资源管理对象 |
| 3 | Pod是一个抽象的概念,可以理解为一个或者多个容器化应用的集合 |
| 4 | 最常见的是在一个pod当中运行一个容器,也是最常用的方式 |
| 5 | 在一个pod当中同时运行多个容器,在一个pod当中可以同时封装及格需要耦合的互相协作的容器,这些多个容器共享资源,也可以互相协作组成一个service单位 |
| 6 | 不论运行一个容器还是多个容器,k8s管理的都是pod而不是容器 |
| 一个pod内的容器,必须都运行在同一个节点,基于现代容器技术的要求,就是一个pod运行一个容器,一个容器只运行一个进程,横向扩展(核心是方便扩缩容,还有就是解耦,一个pod内运行多个容器,耦合度太高,一旦一个进程失败,整个pod将全部失败)实现解耦,基于pod可以创建多个副本,实现高可用和负载均衡。管理方便,简单直观。 |
| Pod内的容器共享资源,共享机制:pause底层基础容器来提供共享资源的机制。 Pause容器是基础容器,也可以成为父容器,它的作用就是管理pod内容器的共享操作 Pause还可以管理容器的生命周期 k8s提供了pause容器两大核心功能 | |
| 1 | 为pod内的所有容器提供一个统一的命名空间 |
| 2 | 启动容器的pid命名空间,每个pod中都作为pid都为1的进程(init进程) ,回收僵尸进程(pod里面是容器,容器运行的进程pid,pause父进程1在pod内部管理容器进程) |
| 3 | 创建pod时,先创建pause容器,然后拉取镜像,生成容器,形成pod |

Pause容器共享两种资源
| 1 | 网络:每个pod都会被分配一个集群内部的唯一ip地址,pod内的容器共享网络,pod在集群内部的ip地址和端口,pod内部的容器可以使用localhost互相通信,pod的中容器与外部通信时,从共享的资源当中进行分配,宿主机的端口映射 |
| 2 | 存储pod可以指定多个共享volume,pod内的容器共享这些vloume Vloume可以是实现数据持久化,可以防止pod重新构建之后数据文件丢失 |
| 每个pod都有一个基础容器pause容器 Pause容器对应的惊险属于k8s集群的一部分,创建集群就会有pause这个基础镜像 Pod里面包含了一个或者多个相关的容器(也就是应用) 由kube-controller-manager 提供网络ip Pod外再设置一个基础镜像 | |
| 1 | pod内部有一组容器,挂了一个,就算整个pod失效了吗?,引入了pause禁止,代表整个容器的组的状态 可以解决对pod内部容器整体状态的判断 |
| 2 | pod内的容器共享ip,共享volume挂载卷,解决了容器网络通信的问题,解决了容器内部文件共享的问题 |
pod的分类
| 1 | 自主式pod: 这种pod不会自我修复,pod内容器的进程终止或者删除,或者缺少资源被驱逐,这个pod没有办法自愈 由scheduler进行调度,不被控制器管理,没有自愈能力,一旦pod挂掉,不会被重新拉起,没有副本管理,滚动更新功能 |
| 2 | 控制器管理pod: 可以滚动升级,可以自愈(自动重启),可以提供管理pod的数量,以及扩缩容 由scheduler进行调度,被控制器管理,有自愈能力(一旦pod挂了,会被控制器重新拉起),由副本管理,滚动更新等功能 |
| 3 | 静态pod 不由schedule调度,是由kubelet自行管理,始终和kubelet运行在同一个node节点上,不能直接删除,静态pod的yaml配置文件目录默认存放于/etc/kubenetes/manifests目录,在这个目录下创建或者删除yaml文件,kubelet会自动的创建或删除静态pod |
#创建命令
kubectl create deployment/statefulset/daemonset ....
pod的生命周期与常见的状态
| 1 | pending:挂起状态, pod已被创建,但是尚未被分配到运行的node节点(一直pending的原因:节点上资源不够,需要等待其他pod的调度) |
| 2 | Running:运行中, pod已被分配到了node节点,pod内部的所有容器都已经启动,运行状态正常,且稳定 |
| 3 | Complete:也叫successded, 容器内部的进程运行完毕,正常退出,没有发生错误 |
| 4 | Faild: pod中的容器非正常状态退出,发生了错误,需要通过查看详情来定位问题 |
| 5 | UNkown: 由于某些原因,k8s集群无法获取pod的状态,APIserver出了问题 |
| 7 | Terminating: 终止中,正在被中终止,pod正在被删除,但是里面的容器正在终止,这个过程其中还会有一些其他的操作,如资源回收,垃圾清理,以及终止过程中需要执行的命令 |
| pod遵循预定义的生命周期,起始于pending阶段,如果至少其中有一个主容器正常运行,则进入running阶段,之后取决于pod是否有容器以失败状态退出而进入succeeded或者Failed阶段 |

创建pod的容器分类
| 1 | 基础容器:pause 作为linux命名空间共享的基础,给pod里其他的容器提供网络,存储资源的共享 作为pid=1的init进程管理整个pod容器组的生命周期 |
| 2 | Init容器:初始化容器,init c 在1和2这个过程中,pod的状态叫init:0/3,每启动一个就改变1/3 , 2/3 , 3/3 ,全部启动之后才会到业务容器 Init容器的作用:环境变量,可以在创建的过程中为业务容器定制好,相关的代码和工具 Init容器独立与业务容器,它是单独构建的一个镜像,对业务容器不产生任何安全影响 Init容器能以不同于pod内应用容器的文件系统视图运行,secrets的权限(保存一些加密的安全机制配置),应用容器无法访问secrets的权限、 Init容器提供了应用容器运行之前的先决条件,提供了一种阻塞机制或者延迟机制来控制应用容器的启动,只有前置条件满足,才会创建pod的应用容器 |
| 3 | 业务容器(应用容器) pod由多个应用容器时,是并行启动的,即应用容器要在所有init容器都成功的完成启动,运行,退出后才会启动 |
| 1 | 在pod的启动过程中,容器是按照初始化容器先启动,每个容器必须在下一个容器启动之前,要成功退出 |
| 2 | 如果运行失败,会按照容器的重启策略进行指定动作,resatrtPolicy Always never onFailure(非正常退出才会重启) |
| 3 | 所有的init容器没有成功之前,pod是不会进入ready状态的 Init容器与service无关,不能对外提供访问 |
| 4 | 如果重启pod,所有的init容器一定会重新执行 |
| 5 | 如果修改init容器的spec(参数),只限制于image,其他的修改字段都不生效(基于deployment) |
| 6 | 在pod中每个容器的名称都要唯一,不能重复 |
pod中容器的重启策略
| Always | 只要容器退出,总是重启,无论容器的状态码是否正常,默认策略,可以不加 |
| Never | 只要容器退出,不论是否正常,都不重启 |
| OnFailure | 只要容器的转态码非0才会重启(pod容器异常退出时),正常退出不重启(容器退出码为0) |

总结
| Pause容器:底层容器,也可以理解为基础容器 提供pod内容器的网络和存储共享,以及pod内容器退出之后的资源回收 Init容器:人为设定的业务容器,启动之前的必要条件 |
Pod的生命周期
| 1 | pause基础容器 |
| 2 | Init初始化容器,全部成功退出,才会到业务容器 |
| 3 | Postart prestop 容器的钩子,启动时命令和退出时的命令 |
| 4 | 探针:探测容器的健康状态,伴随pod的整个生命周期(除了启动探针) |
| 总结:pod就是用来封装容器,业务室容器,服务也是容器,包括端口也是容器 |
| Pod的重启策略always只要有一个失败整个pod都会重启, Never:都不重启 OnFail:重启整个pod |
相关文章:
K8Spod组件
一个pod能包含几个容器 一个pause容器(基础容器/父容器/根容器) 一个或者多个应用容器(业务容器) 通常一个Pod最好只包含一个应用容器,一个应用容器最好也只运行一个业务进程。 同一个Pod里的容器都是运行在同一个node节点上的,并且共享 net、…...
clickhouse-client INSERT CSV/TSV时跳过错误行
clickhouse-client INSERT CSV/TSV时跳过错误行 在使用clickhouse-client向ck中导入csv文件时,当csv中有个别行数据格式错误时,整个文件就插入失败了,经常会导致丢数据。 经过一番搜索,发现ck提供了两个参数可以跳过错误行&#x…...
直流稳压电源电路
一、稳压电源的技术指标及对稳压电源的要求 稳压电源的技术指标可以分为两大类:一类是特性指标,如输出电压、输出电滤及电压调节范围;另一类是质量指标,反映一个稳压电源的优劣,包括稳定度、等效内阻(输出电阻&#x…...
记录爬虫编写步骤
本文讲解 Python 爬虫实战案例:抓取百度贴吧(https://tieba.baidu.com/)页面,比如 Python爬虫吧、编程吧,只抓取贴吧的前 5 个页面即可。今天一个毕业学生问到一个问题:不清楚编写爬虫的步骤,不…...
SpringBoot配置Swagger2与Swagger3
swagger是什么? 在平时开发中,一个好的API文档可以减少大量的沟通成本,还可以帮助新加入项目的同事快速上手业务。大家都知道平时开发时,接口变化总是很多,有了变化就要去维护,也是一件比较头大的事情。尤…...
C/C++ 枚举
目录 枚举概述 枚举的使用 枚举的大小计算 枚举的优点 C语言中的自定义类型有:结构 位段 枚举 联合 枚举概述 枚举顾名思义就是一一列举,把可能的取值一一列举。 比如我们现实生活中:一周的星期一到星期日是有限的7天,…...
P12 音视频复合流——TS流讲解
前言 从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_C…...
三维重建 3D Gaussian Splatting:实时的神经场渲染
目录 概念理解三维高斯喷洒 渲染实例 依赖项: 编译报错: 预训练模型 13G:...
Django Web框架
1、创建PyCharm项目 2、安装框架 pip install django4.2.0 3、查看安装的包列表 4、使用命令创建django项目 django-admin startproject web 5、目录结构 6、运行 cd web python manage.py runserver7、初始化后台登录的用户名密码 执行数据库迁移生成数据表 python man…...
ARCGIS PRO SDK GeometryEngine.Intersection的GeometryDimensionType 枚举
描述几何对象的维度。与 GeometryEngine.Intersection 一起使用。 成员描述EsriGeometry0Dimension零维(点或多点)。EsriGeometry1Dimension一维(折线)。EsriGeometry2Dimension二维(多边形或包络)。Es…...
Web网页开发-CSS层叠样式表1-笔记
1.CSS的引入方式 (1)内嵌式:把style双标签写在head标签里面,可以影响同种标签 (2)行内式:把style写在标签内部,只能影响当前标签 (3)外链式:创建css文件,使用link将html文件和css文件连接起来 (4)导入式&am…...
如何预防变种.halo勒索病毒感染您的计算机?
尊敬的读者: 在数字时代,威胁网络安全的.halo勒索病毒日益猖狂。本文将深入介绍.halo病毒的攻击方式,以及针对被加密文件的恢复方法和预防措施。在面对被勒索病毒攻击导致的数据文件加密问题时,技术支持显得尤为重要,…...
短网址的新玩法,短到只剩域名
短网址大家应该都不陌生了,一句话就可以解释清楚,把一串很长的网址缩短到只有几个字符依然可以正常访问,缩短之后会更加简洁美观。 那大家见过的短网址一般长啥样呢,比如t.cn/xxxxx、dwz.cn/xxxxx、c1ns.cn/xxxxx。这些短网址都有…...
FA2016AA (MHz范围晶体单元超小型低轮廓贴片) 汽车
随着科技的不断发展,智能汽车逐渐成为人们出行的首选。而其中,频率范围在19.2 MHz ~ 54 MHz的晶体单元超小型低轮廓贴片(FA2016AA)为汽车打造更智能、更舒适、更安全的出行体验。FA2016AA贴片的外形尺寸为2.0 1.6 0.5 mm&#x…...
【设计模式之美】面向对象分析方法论与实现(一):需求分析方法论
文章目录 一. 需求举例二. 对案例进行需求分析1. 第一轮基础分析2. 第二轮分析优化3. 第三轮分析优化4. 第四轮分析优化5. 最终确定需求 三. 小结 本文主要描述: 面向对象的需求分析方法论 一. 需求举例 假设,你正在参与开发一个微服务。微服务通过 HTT…...
MySQL视图索引执行计划相关十五道面试题分享
目录 一. 视图 1.1 含义 1.2 操作 创建视图 修改视图 删除视图 查看视图 二. 索引 2.1 什么是索引 2.2 为什么要使用索引 2.3 优点 2.4 缺点 2.5 何时不适用索引 2.6 索引何时失效 三. 执行计划 3.1 什么是执行计划 3.2 执行计划的作用 四. 面试题 表结构 …...
vue绑定背景颜色或背景图片 和 nuxtjs动态设置background-image:
v-bind绑定样式表: ---------------------------------------------------------------------------------------------------- HTML写法: <div class"myItem" style"text-align:center; background-image:url(); background-size:auto 100% ;ba…...
案例099:基于微信小程序的外卖小程序的研究与开发
文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…...
数据库的设计
理解数据库第二范式2NF的必备知识 关系数据库基础: 了解关系数据库的基本概念,包括表格、行、列、主键、外键等。 第一范式(1NF): 在理解第二范式之前,首先要了解第一范式。第一范式要求表格中的每个列都包…...
数据比较时String未转成BigDecimal的坑
如果价格的字段是String,要转换成BigDecimal等数字再比较,用String比较会出现奇怪的错误。 这句话看起来很多余,但是实际写代码的时候确是很容易忽略。 比如价格这个字段封装在对象里,而你只是a.getPrice().compareTo(b.getPrice…...
VideoAgentTrek Screen Filter 大规模部署成本分析:GPU资源优化配置指南
VideoAgentTrek Screen Filter 大规模部署成本分析:GPU资源优化配置指南 最近和几个做视频内容审核的朋友聊天,大家聊得最多的不是技术有多牛,而是“这玩意儿跑起来到底要花多少钱”。确实,像VideoAgentTrek Screen Filter这类视…...
GLM-OCR赋能微信小程序:开发随身扫描与文档管理工具
GLM-OCR赋能微信小程序:开发随身扫描与文档管理工具 1. 引言 你有没有遇到过这样的场景?开会时看到白板上写满了重要信息,想快速记录下来,却只能对着手机一张张拍照,事后还得手动整理;或者收到一份纸质合…...
野火挑战者开发板实战:用STM32CubeMX从零配置GPIO、UART和ADC(附完整代码)
野火挑战者开发板实战:从零构建环境监测系统 刚拿到野火挑战者开发板时,面对密密麻麻的引脚和复杂的配置选项,很多初学者会感到无从下手。本文将带你用STM32CubeMX图形化工具,快速配置GPIO、UART和ADC这三个最常用的外设ÿ…...
汇编语言打造精准电子时钟:从子程序构建到硬件协同
1. 为什么选择汇编语言做电子时钟? 很多初学者第一次接触电子时钟项目时,往往会选择用Arduino或者树莓派这类开发板配合现成的库函数来实现。但如果你真的想深入理解计算机如何与硬件对话,用汇编语言从头构建一个电子时钟绝对是值得尝试的挑战…...
OOM线上问题排查
场景: 项目中有一个接口,会进行全表查询,查出来3万条,查一次不会导致oom,但是频繁调用这个接口,上一次调用还没有来得及进行垃圾回收,下一次接口调用又来了,又有3万条数据࿰…...
Java POI读取大文件慢如何优化
用java poi处理大型excel文件时,往往会遇到阅读速度慢的问题,严重影响程序性能。本文将针对“java poi打开大文件的慢优化方法?”这个问题讨论了几个可行的解决方案,以帮助开发者提高程序效率。问题在于java poi 默认情况下&#…...
5B00,5B01,5B02,1700,1701,1702,1704,P07清零软件G3800,TS3480 ,TS3380 ,G3000,G1810,TS9020, TS8020,TS3480
下载地址:链接:https://pan.baidu.com/s/1j7Nwv715wX1JL3qidnGyXA?pwd0000 提取码:0000 常见 佳能打印机 型号: G5080 G6080 G7080 G1810 G2810 G3810 G4810 G1800 G2800 G3800 G4800 G5010 G6010 G7010 G1010 G2010 G3010 G4010 G1000 G2000 G3000 G40…...
DXVK 2.7.1:Vulkan驱动的Direct3D转换层性能提升15%的技术突破
DXVK 2.7.1:Vulkan驱动的Direct3D转换层性能提升15%的技术突破 【免费下载链接】dxvk Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk 一、技术突破:从API翻译到性能…...
3步打造你的专属AI角色扮演世界:SillyTavern终极指南
3步打造你的专属AI角色扮演世界:SillyTavern终极指南 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 你是否厌倦了千篇一律的AI对话?是否渴望创造真正有灵魂的虚拟角…...
2026年,江北高档 KTV 哪个好玩?这份实测推荐别错过!
2026 年,想在江北找个高档又好玩的 KTV 可不容易。其实,深海公馆娱乐会所就凭借多年行业经验,成了很多人的心头好。接下来,我就给大家分享一些 KTV 选择的干货。说实话,很多人去 KTV 都踩过不少坑。比如有些 KTV 装修看…...
