当前位置: 首页 > news >正文

k8s之pod进阶

1.k8s的pod重启策略

Always :不论正常退出还是非正常退出都重启deployment的yaml文件只能是always pod的yaml三种模式都可以。

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

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

容器的退出了,pod才会重启。

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

2.docker的重启策略

docker的默认策略是never

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

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

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

3.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被驱赶

4.pod内的容器使用节点资源的限制

1.request:需要的资源

2.limit:最高能占用系统多少资源

limit需要多少,最多也只能占用这么多

两个限制:cpu 内存

cpu的限制格式:

1 2 0.5 0.2 0.3

1 可以占1个cpu

2 可以占2个cpu

0.5 可以占 0.5个cpu

0.2 可以占 五分之一个cpu

0.1 是最小的单位

要么是整数,要么就是小数点后只能跟疑问,最小单位0.1

m来表示cpu

cpu时间分片原理:通过周期性的轮流分配cpu时间给各个进程,多个进程可以在cpu上交替执行

在k8s中就是表示占用cpu的比率:

m:millicores 单位

1个cpu:1000m

2个cpu:2000m

0.1个cpu:100m 最小单位

内存:

Ki:KB

Mi:MB

Gi:GB

Ti:TB

5.k8s怎么设置拉去镜像的策略

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

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

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

都是本地部署,Never

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

always:一般不用

6.pod的容器健康检查:探针

探针有三种规则

1.存活探针:livenessProbe 探测是否正常运行,如果发现探测失败,会杀掉容器,容器会根据重启策略来决定是否重启,不是杀掉pod

2.就绪探针:探测容器是否进入ready状态,并且做好接受请求的准备

探测失败,READY 0/1 没有进入ready状态,service会把资源对象的端点从当中删除,service也不会把请求转发到这个pod

3.启动探针

只是在容器的启动后开始检测,容器内的应用是否启动成功。在启动探测成功之前,所有的其他探针都会处于禁用状态。但是,一旦启动探针结束,后续的操作不再受启动探针的影响

在一个容器当中的可以有多个探针,启动探针:只在容器启动时探测

7.探针的检测方法

1.exec探针:在容器内部执行命令,如果命令的返回码是0,表示成功

适用于需要在容器内自定义命令来检查容器的健康的情况

2.httpGet:

对指定ip+端口的容器发送一个httpget的请求。响应状态码大于等于200小于400都是成功,适用于检查容器能否响应http的请求。web容器(nginx,tomcat)

3.tcpSocket:端口,对指定端口上的容器的IP地址进行tcp检查(三次握手),端口打开,认为探测成功。检查特定容器的端口监听状态

8.探针的周期

initialDelaySeconds: 3 一般设置为10-30s

表示容器启动之后多少秒来进行探测,时间不要设置的太短,可能导致无效探测

periodSeconds: 2 一般设置10-60

表示探针探测的间隔时间。每隔多少秒进行一次检查,应用的延迟敏感度。这个应该非常重要,是核心组件

failureThreshold: 2 可以不加 默认是3

表示如果探测失败,失败几次之后,把容器标记为不健康

successThreshold: 1 可以不加 默认就是1

只有成功一次就标记为就绪,健康,ready

timeoutSeconds: 1 默认10-30

表示每次探测的超时时间,在多少秒内必须完成探测

9.容器启动和退出时的动作

postStart:容器启动钩子,容器启动之后触发的条件

preStop:容器退出钩子,容器退出之后触发的条件

相关文章:

k8s之pod进阶

1.k8s的pod重启策略 Always :不论正常退出还是非正常退出都重启deployment的yaml文件只能是always pod的yaml三种模式都可以。 OnFailure:只有状态码非0才会重启,正常退出不重启 Never:正常退出和非正常退出都不重启 容器的退…...

RTTI(运行时类型识别)

RTTI(运行时类型识别) 实验介绍 RTTI 全称 Run Time Type Identification,中文称为 “运行时类型识别”,在程序中使用 typeid 和 dynamic_cast 实现。RTTI 技术允许程序在运行时识别对象的类型。 知识点 typeiddynamic_castRTTI 技术typeid typeid 是 C++ 关键字,用于…...

19.Linux Shell任务控制

文章目录 Linux Shell任务控制1)信号通过键盘生成信号trap 命令捕获信号 2)在后台运行脚本命令后加 & 符使用nohub命令 3)作业控制4)调度优先级nice命令renice 命令 5)定时运行作业at定期执行命令reference 欢迎访问个人网络日志🌹🌹知行空间&#x…...

域名流量被劫持怎么办?如何避免域名流量劫持?

随着互联网不断发展,流量成为线上世界的巨大财富。然而一种叫做域名流量劫持的网络攻击,将会在不经授权的情况下控制或重定向一个域名的DNS记录,导致用户在访问一个网站时,被引导到另一个不相关的网站,从而劫持走原网站…...

java案例知识点

一.会话技术 概念 技术 二.跨域 三.过滤器 四.拦截器...

Arrays 的使用

Arrays 概述 提供了数组操作的相关方法&#xff0c;连接数组和集合 asList 返回指定数组的列表列表和数组的引用位置相同 Integer[] arrs new Integer[] {1,2,3,4,5,6,7,8,9};List<Integer> list Arrays.asList(arrs);System.out.println(list);arrs[5] 100;Syste…...

IDEA中怎么用Postman?这款插件你试试

Postman是大家最常用的API调试工具&#xff0c;那么有没有一种方法可以不用手动写入接口到Postman&#xff0c;即可进行接口调试操作&#xff1f;今天给大家推荐一款IDEA插件&#xff1a;Apipost Helper&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还…...

基于机器视觉的车牌检测-边缘检测因子的选择

车牌检测概述 车牌识别在检测报警、汽车出入登记、交通违法违章以及移动电子警察方面应用广泛。车牌识别过程为&#xff1a;首先通过摄像头获取包含车牌的彩色图像&#xff1b;然后进行车牌边缘检测&#xff0c;先粗略定位到车牌位置&#xff0c;再精细定位&#xff1b;最后根…...

学习c语言,变种水仙花

利用函数次方pow...

K8S--持久卷(PersistentVolume)的用法

原文网址&#xff1a;K8S--持久卷(PersistentVolume)的用法-CSDN博客 简介 本文介绍K8S的持久卷(PersistentVolume)的用法。 目标&#xff1a;用持久卷的方式将主机的磁盘与容器磁盘映射&#xff0c;安装nginx并运行。 --------------------------------------------------…...

书生·浦语大模型趣味 Demo笔记及作业

文章目录 笔记作业基础作业&#xff1a;进阶作业&#xff1a; 笔记 书生浦语大模型InternLM-Chat-7B 智能对话 Demo&#xff1a;https://blog.csdn.net/m0_49289284/article/details/135412067书生浦语大模型Lagent 智能体工具调用 Demo&#xff1a;https://blog.csdn.net/m0_…...

2024最新前端源码分享(附效果图及在线演示)

分享10款非常有趣的前端特效源码 其中包含css动画特效、js原生特效、svg特效以及小游戏等 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 粒子文字动画特效 基于canvas实现的粒子文字动画特效 会来回切换设定的文字特效 图…...

Microsoft 365 for Mac激活版(原Office 365)

Microsoft 365 for Mac原office 365&#xff0c;包含Word、Excel、PowerPoint 和 Outlook应用程序&#xff0c;协作办公的最佳首选。 软件下载&#xff1a;Microsoft 365 for Mac激活版下载 Microsoft 365 的一些主要功能包括&#xff1a; office 应用程序&#xff1a;Microsof…...

快乐学Python,Python基础之组织代码「类与对象」

在上一篇文章中&#xff0c;我们了解了函数。这一篇文章我们来了解一下Python中另外一个重要的概念&#xff1a;类与对象。 1、类与对象 &#xff08;1&#xff09;类与对象有什么关系&#xff1f; 你可能会奇怪&#xff0c;为什么要叫类与对象呢&#xff1f;是两个不同的东…...

H5的3D游戏开源框架

在H5的3D游戏框架中&#xff0c;Three.js、Babylon.js和Turbulenz是比较受欢迎的选择。 Three.js是一个广泛应用并且功能强大的JavaScript 3D库&#xff0c;可以创建简单的3D动画到创建交互的3D游戏。 Babylon.js是David Catuhe对3D游戏引擎热爱的结果&#xff0c;是最好的Ja…...

浅谈一些生命周期

vue2生命周期 beforeCreate &#xff1a;实例创建之初 created&#xff1a;组件已经创建完成 beforeMount&#xff1a;组件挂载之前 mounted:组件挂载之后 beforeUpdate&#xff1a;数据发生变化 更新之前 undated&#xff1a;数据发生之后 beforeDestroy &#xff1a;实…...

JavaScript基础(25)_dom查询练习(二)

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>dom查询练习二</title><link rel"stylesheet" href"../browser_default_style/reset.css"><style>form {margi…...

【React系列】React生命周期、setState深入理解、 shouldComponentUpdate和PureComponent性能优化、脚手架

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 生命周期 1.1. 认识生命周期 很多的事物都有从创建到销毁的整个过程&#xff0c;这个过程称之为是生命周期&…...

一文初步了解slam技术

本文初步介绍slam技术&#xff0c;主要是slam技术的概述&#xff0c;涉及技术原理、应用场景、分类、以及各自优缺点&#xff0c;和slam技术的未来展望。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;slam精进之…...

滑动窗口协议仿真(2024)

1.题目描述 滑动窗口协议以基于分组的数据传输协议为特征&#xff0c;该协议适用于在数据链路层以及传输层中对按 顺序传送分组的可靠性要求较高的环境。在长管道传输过程&#xff08;特别是无线环境&#xff09;中&#xff0c;相应的滑动窗口 协议可实现高效的重传恢复。附录 …...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...