K8S之pod(十二)

news2025/2/25 9:55:16

一、简介

      在Kubernetes集群中,Pod是所有业务类型的基础,也是K8S管理的最小单位级,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被统一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器。

二、Pod实现机制与设计模式

      每个Pod都有一个特殊的被称为"根容器"的Pause 容器(Pause容器,又叫Infrastructure容器)。 Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户业务容器。

      众所周知,容器之间是通过Namespace隔离的,Pod要想解决上述应用场景,那么就要让Pod里的容器之间高效共享。

具体分为两个部分:网络和存储

共享网络

      kubernetes的解法是这样的:会在每个Pod里先启动一个infra container小容器,然后让其他的容器连接进来这个网络命名空间,然后其他容器看到的网络试图就完全一样了,即网络设备、IP地址、Mac地址等,这就是解决网络共享问题。在Pod的IP地址就是infra container的IP地址。

共享存储

      比如有两个容器,一个是nginx,另一个是普通的容器,普通容器要想访问nginx里的文件,就需要nginx容器将共享目录通过volume挂载出来,然后让普通容器挂载的这个volume,最后大家看到这个共享目录的内容一样。

 三,Pod状态详解

      Pod有以下几个状态:

Pending 等待中

Running 运行中

Succeeded 正常终止

Failed 异常停止

Unkonwn 未知状态

Pod状态详解

Pending

Pod已经被创建,但还没有完成调度,可能处在:写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending伴随的事件通常会有:ADDED, Modified这两个事件的产生。

Running

该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。

Succeeded

Pod中的所有的容器已经正常的执行后退出,并且不会自动重启,一般会是在部署job的时候会出现。

Failed

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

Unkonwn

API Server无法正常获取到Pod对象的状态信息,通常是由于其无法与所在工作节点的kubelet通信所致。

pod从创建到成功或失败的事件

PodScheduled

pod正处于调度中,刚开始调度的时候,hostip还没绑定上,持续调度之后,有合适的节点就会绑定hostip,然后更新etcd数据

Initialized

pod中的所有初始化容器已经初启动完毕

Ready

pod中的容器可以提供服务了

Unschedulable

不能调度,没有合适的节点

Pod状态的详细说明

CrashLoopBackOff: 容器退出,kubelet正在将它重启

InvalidImageName: 无法解析镜像名称

ImageInspectError: 无法校验镜像

ErrImageNeverPull: 策略禁止拉取镜像

ImagePullBackOff: 正在重试拉取

RegistryUnavailable: 连接不到镜像中心

ErrImagePull:通用的拉取镜像出错

CreateContainerConfigError: 不能创建kubelet使用的容器配置

CreateContainerError: 创建容器失败

m.internalLifecycle.PreStartContainer 执行hook报错

RunContainerError: 启动容器失败

PostStartHookError: 执行hook报错

ContainersNotInitialized: 容器没有初始化完毕

ContainersNotReady: 容器没有准备完毕

ContainerCreating:容器创建中

PodInitializing:pod 初始化中

DockerDaemonNotReady:docker还没有完全启动

NetworkPluginNotReady: 网络插件还没有完全启动

Evicte: pod被驱赶

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/619074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《C++高级编程》读书笔记(四:设计专业的C++程序)

1、参考引用 C高级编程(第4版,C17标准)马克葛瑞格尔 2、建议先看《21天学通C》 这本书入门,笔记链接如下 21天学通C读书笔记(文章链接汇总) 1. 程序设计概述 在启动新程序(或已有程序的新功能&…

MMDetection环境配置与使用

在安装MMDetection时,耗费了近一天时间,其实安装很简单,只要保证环境对应即可(这不是废话吗),总而言之,只要严格按照步骤Windows下环境配置就是可行的。 Window环境配置 基础环境 CUDA为10.1 创建Conda环…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(三):移植

AWTK最大优势是什么?除了免费,一个是轻量级、速度快,还有一个就是跨平台,它是为移植而生,为嵌入式而生。 而嵌入式和桌面系统最大不同在于,桌面系统的CPU是intel/AMD的X86系统,操作系统时Windows/Linux,而嵌入式则更加多样,内核可能是ARM、RISC,不同厂家基于ARM内核设…

原来,网络机架的门道也这么多

大家好,我的网工朋友 前几天给你们说了机房搬迁,发现大家对硬件设备还挺感兴趣。还没看过的看这:《别小瞧,搬迁网络机房,讲究的可不少》。 之前大多给你分享技术和行业经验,这回来点“硬的”。 如果你做的…

{} >= {} 返回 true

JavaScript 一共提供了8个比较运算符。 相等比较 相等运算符 严格相等运算符 ! 不相等运算符 ! 严格不相等运算符 非相等比较 > 大于运算符 < 小于运算符 < 小于或等于运算符 > 大于或等于运算符 这八个比较运算符分成两类&#xff1a;相等比较和非相等比较。 两…

构建vue初始化项目:vue create 命令构建vue项目

首先找到自己的文件夹 1.创建vue项目&#xff1a;vue create vue 2.选择Manually select features自定义创建 3.选择vue版本(这里选择的是vue2) 4. 5. 6. 7. 8创建完成 创建完项目后先删除node_modules然后执行 npm设置淘宝镜像加速&#xff1a;npm config set registr…

java SSM 美食资讯网系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 美食资讯网系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码 和数据库&#xff0c;系统主要采用…

chatgpt赋能python:Python如何设置画笔颜色255

Python如何设置画笔颜色255 Python是一种强大的编程语言&#xff0c;广泛应用于不同领域&#xff0c;尤其在数据分析、机器学习和人工智能方面出色。在数据可视化方面&#xff0c;Python提供了一些很好的库和函数&#xff0c;例如matplotlib和seaborn&#xff0c;这些库可以用…

使用TuyaOS幻彩灯带开发包快速开发一款智能幻彩灯带

使用TuyaOS快速开发一款智能幻彩灯带 一、亮点功能介绍二、开发包的核心优势1、丰富的基础服务和驱动2、支持Kconfig3、满足开发者自定义需求 4、支持与帮助1. 下载产品开发包2. 联系我们 如果你常看短视频&#xff0c;一定被各种炫酷的幻彩灯带产品刷屏过。随着智能幻彩灯带的…

“加密前行”-加密芯片在软件License中的应用

“ 在上篇文章中&#xff0c;我们介绍了在汽车应用中&#xff0c;软硬件加密技术在保护车辆数据和通信方面发挥着关键作用。 JokerEye&#xff0c;公众号&#xff1a;ADAS之眼 ADAS-“加密前行”:软硬件技术在汽车安全中的应用" 今天&#xff0c;我们将以实际的加密芯片案…

万物悦享推广方案范文

万物悦享推广方案范文&#xff0c;做好商城视觉优化&#xff0c;可以让你超过90%的商家#抖音商城 #抖音小店 #抖音电商 #电商干货 #干货分享 但问耕耘&#xff0c;莫问收获 优秀的人往往会寻找机遇 恭喜程总拿下成都市郫都区运营商 开启万物悦享财富 管道收益 扩展阅读&#x…

chatgpt赋能python:Python如何利用自动化输入账号密码来提高工作效率

Python如何利用自动化输入账号密码来提高工作效率 在许多日常工作中&#xff0c;我们需要频繁地登录各种各样的账号&#xff0c;并且还需要输入密码。这可能会让一些人感到繁琐和乏味&#xff0c;严重影响了工作效率和效率。幸运的是&#xff0c;Python可以帮助我们解决这个问…

考虑分布式电源的配电网无功优化问题研究(matlab代码)

目录 1 主要内容 33节点系统图 参考算例模型 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序部分参考《含分布式电源的配电网多目标优化问题研究》&#xff0c;以IEEE33节点系统为研究对象&#xff0c;采用改进单目标粒子群算法&#xff08;采用惯性权重和小生境…

国家级「超算互联网」正式部署,看看哪一类人最先吃上「红利」?

继新基建、东数西算之后&#xff0c;我国算力基础设施产业链又迎来一大利好消息——科技部发起成立国家超算互联网联合体&#xff08;以下简称“超算互联网”&#xff09;&#xff01;二级市场最先做出反应&#xff0c;算力概念股连续两日收涨&#xff0c;有个股今日涨超近10%。…

springboot项目外卖管理 day03-公共字段填充与新增删除分类

文章目录 一、公共字段自动填充1.1、问题分析1.2、代码实现1.2.1、在实体类的属性上加入TableField注解&#xff0c;指定自动填充的策略1.2.2按照框架要求编写元数据对象处理器&#xff0c;在此类中统一为公共字段赋值&#xff0c;此类需要实现MetaObjectHandler接口1.2.3 功能…

Java实习过程中的mybatis问题

问题 Mybatis的resultmap结果映射property报红&#xff0c;返回封装没有值 解决方案&#xff1a; 在实体类中加入getset方法 由于mybatis做映射的时候会先解析get、set方法&#xff0c;拿到get、set后面的名字&#xff0c;new一个空对象&#xff0c;如果在result中找到查询结…

打包jar,jdk8,,mysql8,nginx成exe可安装应用,进行一键安装windows系统上

参考原文&#xff1a;Inno Setup打包 mysqljdkjar成exe文件&#xff0c;进行一键安装_恭维不起的博客-CSDN博客 百度网盘链接包含jdk8,mysql8,nginx,jar 百度网盘链接&#xff1a;https://pan.baidu.com/s/1hKIJb9TBJGuhhZAlRURmMw?pwd7777 提取码&#xff1a;7777 battoex…

沐歌保健院线上预约按摩系统的设计与实现(论文+源码)_kaic

目 录 摘 要 第一章 绪论 1.1项目研究的背景 1.2开发意义 1.3项目研究现状及内容 1.4论文结构 第二章 开发技术介绍 2.1JSP技术 2.2Eclipse环境配置 2.3MySQL环境配置 第三章 系统分析 3.1系统可行性分析 3.1.1经济可行性 3.1.2技术可行性 3.1.3运行可行性 3.1.4操作可行…

Vivado下有限状态机的实现

文章目录 1011状态机的实现四状态下的移位操作 处理相对复杂的逻辑时就会用到有限状态机&#xff0c;设定好不同的状态&#xff0c;根据触发条件跳转到相应的状态&#xff0c;然后在不同的状态下做相应的处理。有限状态机主要用到 always 语句和 case 语句。 1011状态机的实现 …

【C#项目实战】Winform音频播放器的制作

Hello大家好,我是雷工! 本篇记录Winform音频播放器的制作过程。 一、开发运行环境 1、系统开发平台:Visual Studio 2022。 2、系统开发语言:C#。 二、功能说明及效果演示 1、该音频播放器可以通过音频列表,显示可播放的音频名称,通过列表框下的添加、删除按钮可以向列…