pod探针

Pod进阶:

探针*

Poststart

Prestop

pod的声明周期开始:

k8s的pod重启策略:

Always deployment的yaml三种模式都可以,不论正常退出还是非正常退出都重启

OnFailure:只有状态码非零才会重启,正常退出事不重启的

Never:正常退出和非正常退出都不重启

容器的退出,pod才会重启

Pod可以有多个容器,只要有一个容器退出,整个pod都会重启,pod内的所有容器都会重启

Docker的重启策略:

Docker的默认策略是Never

on-failure:非正常退出才会重启容器

Always:只要容器退出都会重启

Unless-stopped:只要容器退出就会重启,docker守护进程启动时已经停止的容器,不在重启

单机部署:docker足够了

集群化部署:k8s

Yaml文件快速生成:

--dry-run=client 只是调用了对象,而不是执行命令

基于server

Pod的状态补充:

Crashloopbackoff:pod当中的容器退出,kubelet正在重启

Imagepullbackoff:正在重试拉取镜像

Errorimagepull:拉取镜像出现错(1.网速太慢,2.镜像名字写错了,3.镜像仓库挂了)

Evicte:pod被驱赶(node节点的资源不够部署pod,或者是资源不足,kubelet自动选择一个pod驱逐)

小补充常见的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被驱赶

Pod内的容器使用节点资源的限制:

  1. request:需要的资源
  2. Limit:限制,最高能占用系统多少资源,limit需要多少,最多也只能占用这么多,两个限制:

CPU :CPU的限制格式:1  2  0.5  0.2  0.3

1表示可以占用一个CPU,2表示可以占用两个。0.5可以占用半个 0.2:一个CPU的五分之一,0.1是最小单位,要么是整数,要么就是小数点后只能跟一位,最小单位0.1

m来表示CPU:CPU时间分片原理:通过周期性的轮流分配CPU时间给各个进程,多个进程可以在CPU上交替执行,在k8s就是表示占用的CPU比率,m:millicores单位 1表示1000m,意思就是1000m表示一个CPU,是1000100m是最小单位,表示0.1

内存:

注意一下单位格式即可:ki Mi Gi Ti

演示:

在创建pod时,一定要给容器做资源限制

进入容器:

详细查看节点信息

去node节点输入top查看

k8s当中怎么设置拉取镜像的策略:

默认策略:

IfNotPresent:如果本地镜像有,就不在拉取,本地没有才会去镜像仓库拉取

Always:不论镜像是否存在,创建时(重启时),都会拉取镜像

Never:仅仅使用本地镜像,本地没有,也不会主动拉取

如果都是本地部署,用Never

如果涉及到外部部署,默认策略(事前要把docker的镜像导入到目标主机)

Always:一般不用

演示:

Never:本地没有,也不会去拉取

今天的重点:

Pod的容器健康检查:

探针 probe k8s对容器执行的定期检查,诊断。

探针有三种规则:

  1. 存活探针:livenessProbe探测容器是否正常运行,如果发现探测失败会杀掉容器,容器会根据重启策略来决定是否重启,不是杀掉pod,只是对容器
  2. 就绪探针:探测容器是否进入ready状态,并做好接受请求的准备,探测失败ready0/1 就表示没有进入ready状态,service会把这个资源对象的端点从当中剔除,service也不会把请求转发到这个pod
  3. 启动探针:只是在容器的启动后开始检测,容器内的应用是否启动成功,在启动探测成功之前,所有的其他探针都会处于禁用状态,但是,一旦启动探针结束,后续的操作就不会再受启动探针的影响

在一个容器当中可以有多个探针。

启动探针:只在容器启动时探测

存活探针

就绪探针

Probe的检测方法:

  1. exec探针在容器当中执行命令,如果命令的返回码是0,表示成功,适用于需要再容器内自定义命令来检查容器的健康的情况
  2. httpGet:对指定IP+端口的容器发送一个httpget的请求,响应状态码大于等于200,小于400都是成功,范围200-400之间,适用于检查容器能否响应http的请求,web容器(nginx,Tomcat)
  3. TcpSocker:检查端口的,对指定端口上的容器的IP地址进行tcp检查(产生三次握手),端口打开,认为探测成功,检查特定容器的端口监听状态,例如端口从80改为999,telnet 20.0.0.71 80

诊断结果:

  1. 成功 容器通过了,正常运行
  2. 失败,存活探针就会重启
  3. 未知状态:诊断失败

Exec方式:

解析意思:

查看详细信息:

演示探针失败

删除

重新创建文件后依然可以检测

小结:Liveness杀死容器重启,所有探针策略伴随整个pod生命周期,除了启动探针

通过http方式做健康检测

为了实验效果,将pod删除

换端口检测

kubectl describe pod nginx1

还可以指定path路径

正在拉镜像

改正确

没有报错

TcpSocket方式:

强制删除

端口改错,为了实验效果

总结一下今天的全部内容:

探针的三个方法:

存活探针:检测失败之后,会杀死容器,然后重启

探针将伴随整个容器生命周期

Exec:相当于执行了一个shell命令:容器里面执行

Shell命令要执行成功,返回码为0,表示成功

只要成功一次即可,就是探测成功

httpGet:对web容器发起一次get请求,可以添加path,指定访问的资源,返回码大宇等于200,小于400的范围之内都算成功

TcpSocket:相当于telnet,指定的容器监听端口是否打开,是否能和指定的容器监听进行通信

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

产品手册非常重要,对产品推广的有很大的影响

如今产品手册作为企业传递产品信息的重要媒介,其制作与呈现方式对于产品的推广和销售具有至关重要的影响。一个优秀的产品手册不仅能够帮助消费者更好地了解产品,还能提升品牌形象,进一步推动产品的市场推广。 | 一、产品手册的重要性体现在以…

mysql 增删改查 数据库基本操作

mysal 数据库基本操作 1,库相关 创建数据库 create database 库名; 查看有哪些数据库 show databases; 结构性删除数据库 drop database 库名; 查看数据库基本信息(字符集) show create database 库名&am…

人工智能AI与3D视觉技术的结合正在引领新一代移动机器人的革新

随着科技的飞速发展,人工智能AI与3D视觉技术的结合正在引领新一代移动机器人的革新。富唯智能移动机器人,以其独特的3D视觉技术,赋予了移动机器人一双“智慧之眼”,从而为现代工业自动化带来了前所未有的突破。 富唯智能移动机器…

自制c++题目《模板综合》

1.输出结果&#xff1a; 2.主函数不允许改变 int arr[5] { 5,2,3,1,4}; char arr1[5] { a,c,b,e,d }; good <int>a(arr,5); good <char>b(arr1,5); bad<int>(1,2); bad<float>(1.1, 1.2); 自制c题目《模板综合》 王赫辰/c语言 - Gitee.com

【深度学习】各领域常用的损失函数汇总(2024最新版)

目录 1、L1 损失、平均绝对误差&#xff08;L1 Loss、Mean Absolute Error&#xff0c;MAE&#xff09; 2、L2 损失、均方误差&#xff08;L2 Loss、Mean Squared Error&#xff0c;MSE&#xff09; 3、交叉熵损失&#xff08;Cross-Entropy Loss&#xff09; 4、混合损失&…

Music!18+免费音乐搜索、音乐下载网站合集!

划到最后“阅读原文”——领取工具包&#xff08;超过1000工具&#xff0c;免费素材网站分享和行业报告&#xff09; Hi&#xff0c;我是胡猛夫~&#xff0c;专注于分享各类价值网站、高效工具&#xff01; 更多内容&#xff0c;更多资源&#xff0c;欢迎交流&#xff01;公 号…

深度学习课程实验一浅层神经网络的搭建

一、 实验目的 1、学习如何建立逻辑回归分类器用来识别猫。将引导你逐步了解神经网络的思维方式&#xff0c;同时磨练我们对深度学习的直觉。&#xff08;说明&#xff09;&#xff1a;除非指令中明确要求使用&#xff0c;否则请勿在代码中使用循环&#xff08;for / while&am…

使用Go语言实现RESTful API

RESTful架构是一种设计风格&#xff0c;用于构建网络应用程序的API。它基于HTTP协议&#xff0c;并使用不同的HTTP方法&#xff08;如GET、POST、PUT、DELETE等&#xff09;来处理不同的操作。在Go语言中&#xff0c;我们可以使用标准库中的net/http包来实现RESTful API。 下面…

申请域名SSL证书并自动推送至阿里云 CDN

近期国外SSL证书厂商调整了免费证书的续签规则&#xff0c;一年期的证书全部取消&#xff0c;现在只能申请90天有效期的免费证书。普通web站点可以通过宝塔面板或部署acme.sh等证书自动管理工具来实现自动化申请和部署&#xff0c;但是阿里云之类的CDN服务就只能通过手动或Open…

力扣刷题-二叉树-构建树

106.从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如&#xff0c;给出 中序遍历 inorder [9,3,15,20,7] 后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树&#xff1a; 思路 参考&#xff1a;…

buuctf 逆向 findkey wp

首先看看怎么个事 点开也就这样了&#xff0c;没有输入的点&#xff0c;感觉和之前的 “刮开有奖” 有一点点相像 winmain长这个样子 看到消息循环了&#xff0c;下一步肯定就是找回调函数了 乍一看还没有&#xff0c;函数一个个点进去看发现sub_401023(hInstance&#xff09…

坚持减调,享受健康:让边调边减成为日常行为

引言&#xff1a; 在当前快节奏的现代社会中&#xff0c;随着生活水平的提高和健康意识的增强&#xff0c;越来越多的人开始关注自己的体态和健康状况。随着各种健身方式和调减方法的出现&#xff0c;人们的选择也越来越多样化&#xff0c;不仅包含节食、劳动和运动&#xff0…

深度优先搜索算法,图的深度优先搜索

深度优先搜索&#xff0c;其核心思想就是以一个点作为搜索的起始点&#xff0c;沿着这个点的分支路径不断地深入&#xff0c;直到没有满足条件的点则退回&#xff0c;并以新的起始点为搜索的点&#xff0c;重复以上的过程&#xff0c;图的遍历就是以深度优先搜索思想为解决问题…

改善 GitHub Pages 阅读体验:Quick Docs

一个不到 10MB 的小工具&#xff0c;来提供本地、快速的文档访问&#xff0c;来改善开发过程中&#xff0c;阅读在线文档体验糟糕的问题。 以及&#xff0c;介绍如何快速制作一个利于分发使用的&#xff0c;离线文档工具包。 写在前面 即使现在 AI 辅助编码和 Chat Bot 类的…

osg-材质 (osg::Material)

1.材质类 材质类 (osg::Material)继承自osg::StateAttribute 类。osg::Material 封装了 OpenGL的 glMaterial()和glColorMaterial()指令的函数功能&#xff0c;其继承关系图如图5-27 所示。 图 5-27 osg::Material 的继承关系图 在场景中设置节点的材质属性&#xff0c;首先要…

FLatten Transformer:聚焦式线性注意力模块

线性注意力将Softmax解耦为两个独立的函数&#xff0c;从而能够将注意力的计算顺序从(querykey)value调整为query(keyvalue)&#xff0c;使得总体的计算复杂度降低为线性。然而&#xff0c;目前的线性注意力方法要么性能明显不如Softmax注意力&#xff0c;并且可能涉及映射函数…

element-plus table表格cell-style的使用

在做项目的时候使用到了这个属性 需求是&#xff1a;表格里的两个值进行匹配&#xff0c;如果不相同则给那一列的字体颜色变为红色&#xff0c;方便一眼就能看到template: 先给表格绑定一下cell-style属性 <el-table:data"tableData.slice((currentPage - 1) * page…

某音关键词搜索商品接口,某音关键词搜索商品列表接口,宝贝详情页接口,某音商品比价接口接入方案

要接入API接口以采集电商平台上的商品数据&#xff0c;可以按照以下步骤进行&#xff1a; 1、找到可用的API接口&#xff1a;首先&#xff0c;需要找到支持查询商品信息的API接口。这些信息通常可以在电商平台的官方文档或开发者门户网站上找到。 2、注册并获取API密钥&#x…

广播及代码实现

广播&#xff08;Broadcast&#xff09;是一种网络通信方式&#xff0c;它允许一台设备向网络中的所有其他设备发送消息。广播通常用于在网络上传递一些信息&#xff0c;让所有设备都能接收并处理。在广播中&#xff0c;通信的目标是整个网络而不是特定的单个设备。 向子网中…