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

飞天使-k8s知识点26-kubernetes温故知新1-pod

文章目录

        • 创建一个pod
          • pod的启动命令和参数更改
          • pod 镜像拉取策略
        • pod 的三种探针
        • pod 探针的实现方式
          • prestop 和 prestart

创建一个pod
apiVersion: v1 # 必选,API 的版本号
kind: Pod # 必选,类型 Pod
metadata: # 必选,元数据name: nginx # 必选,符合 RFC 1035 规范的 Pod 名称
spec: # 必选,用于定义 Pod 的详细信息containers: # 必选,容器列表- name: nginx # 必选,符合 RFC 1035 规范的容器名称image: nginx:1.15.12 # 必选,容器所用的镜像的地址ports: # 可选,容器需要暴露的端口号列表- containerPort: 80 # 端口号

在这里插入图片描述
一般使用yaml 文件进行创建比较好, 命令的方式实验用而已

pod的启动命令和参数更改
apiVersion: v1 # 必选,API 的版本号
kind: Pod # 必选,类型 Pod
metadata: # 必选,元数据name: nginx # 必选,符合 RFC 1035 规范的 Pod 名称
spec: # 必选,用于定义 Pod 的详细信息containers: # 必选,容器列表- name: nginx # 必选,符合 RFC 1035 规范的容器名称image: nginx:1.15.12 # 必选,容器所用的镜像的地址command: # 可选,容器启动执行的命令- sleep- "10"ports: # 可选,容器需要暴露的端口号列表- containerPort: 80 # 端口号# 新增command 部分到yaml 文件中,

在这里插入图片描述

pod 镜像拉取策略
always  总是拉取, 当镜像tag 为 latest 时, 且 imagepullpollicy  没有配置, 默认为 always
never  不管是否存在,都会拉取
ifNotPresent ,镜像不存在时拉取镜像,如果tag 为非latest ,且 imagepolicy 未配置,默认为 ifNotPresent 镜像拉取策略, 驾到 command 同级别里imagePullPolicy: IfNotPresent # 可选,镜像拉取策略
pod 的三种探针
种类 说明
startupProbe Kubernetes1.16 新加的探测方式,用于判断容器内的应用程序是否已经启动。如果
配置了 startupProbe,就会先禁用其他探测,直到它成功为止。如果探测失败,Kubelet
会杀死容器,之后根据重启策略进行处理,如果探测成功,或没有配置 startupProbe,
则状态为成功,之后就不再探测。
livenessProbe 用于探测容器是否在运行,如果探测失败,kubelet 会“杀死”容器并根据重启策略
进行相应的处理。如果未指定该探针,将默认为 Success
readinessProbe 一般用于探测容器内的程序是否健康,即判断容器是否为就绪(Ready)状态。如
果是,则可以处理请求,反之 Endpoints Controller 将从所有的 Service 的 Endpoints
中删除此容器所在 Pod 的 IP 地址。如果未指定,将默认为 Success
pod 探针的实现方式
实现方式 说明
ExecAction 在容器内执行一个指定的命令,如果命令返回值为 0,则认为容器健康
TCPSocketAction 通过 TCP 连接检查容器指定的端口,如果端口开放,则认为容器健康
HTTPGetAction 对指定的 URL 进行 Get 请求,如果状态码在 200~400 之间,则认为容器健康没有探针的pod
apiVersion: v1 # 必选,API 的版本号,这里使用的是 v1 版本
kind: Pod # 必选,资源对象的类型,这里是 Pod
metadata: # 必选,资源对象的元数据name: nginx # 必选,资源对象的名称,这里是 nginx
spec: # 必选,资源对象的详细规格说明containers: # 必选,Pod 中运行的容器列表- name: nginx # 必选,容器的名称,这里是 nginximage: nginx:1.15.12 # 必选,容器所用的镜像,这里是 nginx:1.15.12imagePullPolicy: IfNotPresent # 镜像拉取策略,这里是 IfNotPresent,表示如果本地有镜像就使用本地镜像,否则从远程仓库拉取command: # 可选,容器启动时执行的命令- sh- -c- sleep 10; nginx -g "daemon off;" # 这里是先暂停10秒,然后运行 nginx 服务器ports: # 可选,容器需要暴露的端口列表- containerPort: 8088 # 容器暴露的端口号,这里是 80restartPolicy: Never # Pod 的重启策略,这里是 Never,表示容器退出时不自动重启

配置健康检查,如果是一个java程序,启动时间很慢,则要用startupProbe 探针来减少故障恢复时间

apiVersion: v1 # 必选,API 的版本号,这里使用的是 v1 版本
kind: Pod # 必选,资源对象的类型,这里是 Pod
metadata: # 必选,资源对象的元数据name: nginx # 必选,资源对象的名称,这里是 nginx
spec: # 必选,资源对象的详细规格说明containers: # 必选,Pod 中运行的容器列表- name: nginx # 必选,容器的名称,这里是 nginximage: nginx:1.15.12 # 必选,容器所用的镜像,这里是 nginx:1.15.12imagePullPolicy: IfNotPresent # 镜像拉取策略,这里是 IfNotPresent,表示如果本地有镜像就使用本地镜像,否则从远程仓库拉取command: # 可选,容器启动时执行的命令- sh- -c- sleep 10; nginx -g "daemon off;" # 这里是先暂停10秒,然后运行 nginx 服务器readinessProbe: # 可选,用于检查容器是否已经准备好提供服务httpGet: # 使用 HTTP GET 请求进行检查path: /index.html # 请求的路径port: 80 # 请求的端口号scheme: HTTP # 请求的协议,HTTP 或 HTTPSinitialDelaySeconds: 10 # 容器启动后首次进行检查的延迟时间(秒)timeoutSeconds: 2 # 检查超时时间(秒)periodSeconds: 5 # 检查的间隔时间(秒)successThreshold: 1 # 表示检查成功的最小连续成功次数failureThreshold: 2 # 表示检查失败的最小连续失败次数livenessProbe: # 可选,用于检查容器是否还在运行tcpSocket: # 使用 TCP Socket 进行检查port: 80 # 检查的端口号initialDelaySeconds: 10 # 容器启动后首次进行检查的延迟时间(秒)timeoutSeconds: 2 # 检查超时时间(秒)periodSeconds: 5 # 检查的间隔时间(秒)successThreshold: 1 # 表示检查成功的最小连续成功次数failureThreshold: 2 # 表示检查失败的最小连续失败次数ports: # 可选,容器需要暴露的端口列表- containerPort: 80 # 容器暴露的端口号,这里是 80restartPolicy: Never # Pod 的重启策略,这里是 Never,表示容器退出时不自动重启
prestop 和 prestart
apiVersion: v1 # 必选,API 的版本号,这里使用的是 v1 版本
kind: Pod # 必选,资源对象的类型,这里是 Pod
metadata: # 必选,资源对象的元数据name: nginx # 必选,资源对象的名称,这里是 nginx
spec: # 必选,资源对象的详细规格说明containers: # 必选,Pod 中运行的容器列表- name: nginx # 必选,容器的名称,这里是 nginximage: nginx:1.15.12 # 必选,容器所用的镜像,这里是 nginx:1.15.12imagePullPolicy: IfNotPresent # 镜像拉取策略,这里是 IfNotPresent,表示如果本地有镜像就使用本地镜像,否则从远程仓库拉取lifecycle: # 定义容器的生命周期钩子postStart: # 容器创建后要执行的操作exec: # 使用 exec 执行 shell 命令command: # 定义要执行的命令- sh- -c- 'mkdir /data/' # 这里的命令是创建一个名为 /data/ 的目录preStop: # 容器停止前要执行的操作exec: # 使用 exec 执行 shell 命令command: # 定义要执行的命令- sh- -c- sleep 10 # 这里的命令是暂停10秒ports: # 可选,容器需要暴露的端口列表- containerPort: 80 # 容器暴露的端口号,这里是 80restartPolicy: Never # Pod 的重启策略,这里是 Never,表示容器退出时不自动重启

在这里插入图片描述

参考资料: 宽哥

相关文章:

飞天使-k8s知识点26-kubernetes温故知新1-pod

文章目录 创建一个podpod的启动命令和参数更改pod 镜像拉取策略 pod 的三种探针pod 探针的实现方式prestop 和 prestart 创建一个pod apiVersion: v1 # 必选,API 的版本号 kind: Pod # 必选,类型 Pod metadata: # 必选,元数据name: nginx # …...

js获取cookie

js获取cookie 前言实现讲解特别注意: 前言 主要是通过document.cookie来进行实现的 实现讲解 首先通过document.cookie 来获取到所有的cookie 然后通过分号进行分割成list 然后循环list,将list中的字符串通过首个等号进行分割然后和指定的cookie名进行比对然后返…...

RT Studio 仍存在的一些bug

年前有参加RT官方组织的活动,本来觉得是一路next的使用体验所以就没有提前跑一遍,然后现场做实验的时候,尴尬了。 安装官方guide,下载工具链,下载bsp,新建开发板项目,下载软件组件,全…...

[flask]cookie的基本使用/

彻底理解 Cookie - 知乎 (zhihu.com) 是什么 cookie是当你浏览某个网站的时候,由web服务器存储在你的机器硬盘上的一个小的文本文件。它其中记录了你的用户名、密码、浏览的网页、停留的时间等等信息。当你再次来到这个网站时,web服务器会先看看有没有…...

【Linux中vim系列】如何在vim中检索字符串

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

python、execl数据分析(数据描述)

一 python 1.各函数 1.1python库的安装与导入 #pip install os#pip install matplotlib#pip install seaborn#pip install scikit-learn#pip install scipy#修 改 工 作 目 录import osos.getcwd () # 查看当前工作环境os.chdir( F :\my course\database ) # 修改工作环境o…...

前端理论总结(css3)——页面布局方法

瀑布流 优点:节省空间,外表美观,更有艺术性 对于触屏设备非常友好,通过向上滑动浏览 用户浏览时的观赏和思维不容易被打断,留存更容易 缺点:用户…...

06|Java集合框架初学者指南:List、Set与Map的实战训练

Java集合框架是Java语言的核心部分,它提供了丰富的类和接口,用来高效地管理和操作大量数据。这个强大的工具箱包括多种集合类型,其中最为常用的是List、Set和Map。 1.List - 有序且可重复的数据清单 概念: List就像一个购物清单,你可以按照加入顺序存放和检索项目,而且同…...

Jmeter基础篇(18)压测过程中的注意事项

一、测试计划设计: 1、场景设计:需要基于实际业务需求设计合理的并发用户模型、事务和思考时间,模拟真实用户的操作行为。 2、目标明确:定义明确的性能指标(如响应时间、吞吐量、并发用户数、错误率等)和性…...

‘npm‘ 不是内部或外部命令,也不是可运行的程序

npm认识三年了,今天才知道这是node.js的命令 也就是说,想要在cmd里面运行 npm 命令,但就的安装node.js 1. node.js安装 没有安装包的先下载安装包:下载 | Node.js 中文网 (nodejs.cn) 下载之后双击打开,一路安装确…...

使el-table通过操控鼠标滚轮横向滚动

1.创建directive文件夹&#xff0c;里面创建directive.js文件 import Vue from vue;Vue.directive(scroll-x,{inserted:function(el){let domClass el.getAttribute(class)if(domClass.indexOf(el-table)<0){return false}const scrollDiv el;if(scrollDivnull){return fa…...

神经网络深度学习梯度下降算法优化

【神经网络与深度学习】以最通俗易懂的角度解读[梯度下降法及其优化算法]&#xff0c;这一篇就足够&#xff08;很全很详细&#xff09;_梯度下降在神经网络中的作用及概念-CSDN博客 https://blog.51cto.com/u_15162069/2761936 梯度下降数学原理...

向开发板上移植ip工具:将ip工具移植到开发板系统中

一. 简介 前面一篇文章对 ip工具源码进行了交叉编译&#xff0c;生成了ip工具。文章如下&#xff1a; 向开发板上移植ip工具&#xff1a;交叉编译 ip工具-CSDN博客 本文对生成的 ip工具进行移植&#xff0c;即移植到开发板系统中&#xff0c;并确定是否可用。 二. 向开发板…...

数据关联_3.7

目标 利用匈牙利算法对目标框和检测框进行关联 在这里我们对检测框和跟踪框进行匹配&#xff0c;整个流程是遍历检测框和跟踪框&#xff0c;并进行匹配&#xff0c;匹配成功的将其保留&#xff0c;未成功的将其删除。 def associate_detections_to_trackers(detections, track…...

总结虚函数表机制——c++多态底层原理

前言&#xff1a; 前几天学了多态。 然后过去几天一直在测试多态的底层与机制。今天将多态的机制以及它的本质分享给受多态性质困扰的友友们。 本节内容只涉及多态的原理&#xff0c; 也就是那张虚表的规则&#xff0c;有点偏向底层。 本节不谈语法&#xff01;不谈语法&#x…...

Contos7 安装 Maven

Contos7 安装 Maven 前言 ​ Maven是一个用于构建和管理Java项目的强大工具。它提供了一种简单且一致的方式来构建、测试和部署项目&#xff0c;同时管理项目依赖关系。Maven基于项目对象模型&#xff08;Project Object Model&#xff0c;POM&#xff09;&#xff0c;使用XML…...

对适配器模式的理解

目录 一、适配器模式是什么&#xff1f;二、示例【[来源](https://refactoringguru.cn/design-patterns/adapter)】1 第三方依赖 &#xff08;接口A 数据A&#xff09;2 客户端3 方钉转圆钉的适配器&#xff08;数据B&#xff09; 三、适配器&#xff08;xxxAdapter&#xff0…...

纯前端调用本机原生Office实现Web在线编辑Word/Excel/PPT,支持私有化部署

在日常协同办公过程中&#xff0c;一份文件可能需要多次重复修改才能确定&#xff0c;如果你发送给多个人修改后再汇总&#xff0c;这样既效率低又容易出错&#xff0c;这就用到网页版协同办公软件了&#xff0c;不仅方便文件流转还保证不会出错。 但是目前一些在线协同Office…...

双指针的详细教程

双指针算法是一种常用的算法技巧&#xff0c;它通常用于在数组或字符串中进行快速查找、匹配、排序或移动操作。 双指针并非真的用指针实现&#xff0c;一般用两个变量来表示下标&#xff08;在后面都用指针来表示&#xff09; 双指针算法使用两个指针在数据结构上进行迭代&a…...

【Review+预测】测试架构演进的曲折之路

文章目录 前言 一、“原始”阶段 二、“小打小闹”阶段 三、“小米加步枪”阶段 四、“摩托化部队”阶段 五、“骑兵连”阶段 六、“海军陆战队”阶段 七、“社区型组织”阶段 前言 近期公司的测试团队需要重新组织安排&#xff0c;本着谦虚谨慎的态度&#xff0c;我从…...

【基于阿里云搭建数据仓库(离线)】Data Studio创建资源与函数

Data Studio支持在您的数据分析代码中引用自定义的资源和函数&#xff08;支持MaxCompute、EMR、CDH、Flink&#xff09;&#xff0c;您需要先创建或上传资源、函数至目标工作空间&#xff0c;上传后才可在该工作空间的任务中使用。您可参考本文了解如何使用DataWorks可视化方式…...

如何有效删除 iPhone 上的所有内容?

“在出售我的 iPhone 之前&#xff0c;我该如何清除它&#xff1f;我担心如果我卖掉它&#xff0c;有人可能会从我的 iPhone 中恢复我的信息。” 升级到新 iPhone 后&#xff0c;你如何处理旧 iPhone&#xff1f;你打算出售、以旧换新还是捐赠&#xff1f;无论你选择哪一款&am…...

​减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。

智慧交通视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。用户只需在界面上…...

Mysql的B-树和B+树的区别总结

B 树也称 B- 树&#xff0c;全称为 多路平衡查找树&#xff0c;B 树是 B 树的一种变体。B 树和 B 树中的 B 是 Balanced&#xff08;平衡&#xff09;的意思。 目前大部分数据库系统及文件系统都采用 B-Tree 或其变种 BTree 作为索引结构。 B 树& B 树两者有何异同呢&…...

pytorch基本运算-导数和f-string

引言 在前序对机器学习的探究过程中&#xff0c;我们已经深刻体会到人工智能到处都有微分求导运算&#xff0c;相关文章链接包括且不限于&#xff1a; BP神经网络 逻辑回归 对于pytorch张量&#xff0c;求导运算必不可少&#xff0c;所以本次就专门来学习一下。 f-string的用…...

26考研 | 王道 | 计算机组成原理 | 四、指令系统

26考研 | 王道 | 计算机组成原理 | 四、指令系统 文章目录 26考研 | 王道 | 计算机组成原理 | 四、指令系统1.指令系统0.指令集体系结构1. 指令格式1.按地址码数目不同来分2.指令-按指令长度分类3.指令-按操作码长度分类4.指令-按操作类型分类 2. 扩展操作码指令格式 2.指令的寻…...

Git忽略规则.gitignore不生效解决

我在gitlab中新建了一个项目仓库&#xff0c;先把项目文件目录绑定到仓库&#xff0c;并全部文件都上传到了仓库中。 然后又从别的项目复制了忽略文件配置过来&#xff0c;怎么搞他都不能生效忽略我不要提交仓库的文件。 从网上查到说在本地仓库目录中&#xff0c;打开命…...

OPenCV CUDA模块目标检测----- HOG 特征提取和目标检测类cv::cuda::HOG

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::HOG 是 OpenCV 的 CUDA 模块中对 HOG 特征提取和目标检测 提供的 GPU 实现。它与 CPU 版本的 cv::HOGDescriptor 类似&#xff0c;但利…...

什么是内网映射?如何将内网ip映射到外网访问?

随着互联网科技和信息技术的快速发展&#xff0c;很多原理及技术开始被应用到互联网信息科技领域&#xff0c;其中内网iP映射就成为非常普通常见的一个操作。那么什么是内网ip映射&#xff1f;如何将内网ip映射到外网&#xff1f; 一、什么是内网ip映射&#xff1f; 简单理解…...

板凳-------Mysql cookbook学习 (九)

第4章&#xff1a;表管理 4.0 引言 MySQL &#xff1a;&#xff1a; 员工样例数据库 &#xff1a;&#xff1a; 3 安装 https://dev.mysql.com/doc/employee/en/employees-installation.html Employees 数据库与几种不同的 存储引擎&#xff0c;默认情况下启用 InnoDB 引擎。编…...