pod控制器的作用

pod控制器的作用

1、动态pv和pvc

deployment是控制器

pod空气器:工作负载,workload用于管理pod的中间层,确保podi资源符合预期的状态

预期状态

1、·副本数

2、容器重启策略

3、镜像拉取策略

pod、出现故障时重启等等

pod的控制器类型

1、replicaset:指定pod的副本数量

三个组件:

pod的副本数

标签的选择器,判断哪个pod归自己管理

扩缩容

2deployment控制器,他是工作在repalicaset之上,管理无状态应用,目前是最好的控制器,支持滚动更新和回滚

提供声明式配置

3、statefulSet:也是控制器的一种,管理有状态的应用,也可以设置副本数,可以扩缩容,pod之间的序号是固定的,重启之后pod的名称也不会发生变化,有状态

4、DaemonSet:可以在所有节点部署一个pod,他没有副本数,可以限制部署的节点。也是无状态应用,服务必须是守护进程

ingress logstash flannel

5、job:工作pod控制器,执行完成即可退出,不要重启,不需要构建

6、cronjob:周期性的定时任务控制器,不需要再后台持续运行

pod与控制器之间的关系:

1、controllers;管理控制器。

pod通过label----->selector进行关联。

startegy:rollingUpdata:​    maxSurge:25%​    maxUnavailable:25%这是Deployment的默认更细策略rollingUpdate:滚动更新​    maxSurge:25%:升级过程中,新启动的pod数量不能超过期望pod数的25%,不能超过25%maxUnavailable:25%:升级过程中新的pod启动好之后,销毁的旧的pod数量不能超过期望pod25%

2、无状态应用;pod名称是无序的,认为所有pod都是一体的,包括共享存储NFS,

所有deployment下的pod都共享一个存储。

statfulSet:有状态的应用。pod名称有序的,所有pod都是独立的,存储卷也是独立的

顺序0-n,delete删除也不会改变pod的序号,扩缩容也是有序的扩缩容

headless-service:无头服务,没有clusterIp,必须要有动态pvc

apiVersion: v1
kind: Service
metadata:name: nginx-web
spec:ports:- port: 80targetPort: 80clusterIP: ""selector:app: nginx1---
apiVersion: apps/v1
kind: StatefulSet
metadata:name: weblabels:app: nginx2
spec:replicas: 3selector:matchLabels:app: nginc-stsserviceName: "nginx-web"template:metadata:labels:app: nginx2spec:containers:- name: nginximage: nginx:1.22volumeMounts:- name: htmlmountPath: /usr/share/nginx/htmlvolumeClaimTemplates:- metadata:name: htmlspec:accessModes: ["ReadWriteMany"]storageClassName: "nfs-client-storageclass"resources:requests:storage: 2Gi

headless service:k8s集群当中一种特殊的服务类型,不分配Cluseter给service:也不会负载均衡到后端的pod,DNS来提供服务的发现和访问

由于Clusterip的是空,k8s集群会给每个headless service中的pod创建一个dns记录

格式:pod-name.headless-service-name.namespace.svc.cluster.local.

记录了 web-0 nginx-web defaults 本地地址(pod的ip地址)

通过dns直接解析访问pod的IP地址

web-0 10.244.10 做一个地址映射

为什么要用healdless:

有序,独立个体

deployment的pod是没有名称的,随机字符串,无序,他需要一个集中的clusterip来集中统一为pod提供网络

statefulset是有序的,pod的名称是固定的,重建之后pod的标识符也不变,pod的名称是唯一的标识符

系统直接通过pod名称直接解析ip地址。 ip会不会变

为什么要有volumeClaimTemplates:

有状态的副本集群都会涉及持久化存储,每个pod的都是独立个体,每个pod都有一个自己的专用的存储点

statefulset在定义的时候就规定了每个pod是不能使用同一个存储卷,所以才需要动态pv

不是是固定节点的应用,不是固定ip的一个用

更新发布比较频繁

支持自动伸缩,节点的资源不过,可以自动扩容

4、job:分为两类 job普通任务 cronjob定时任务

常用于运行那些仅需要执行一次的任务

应用场景:数据库迁移、批处理脚本执行、视频解码业务

对于k8s系统来说,既然定义了job,只需要执行一次或者指定次数即可,不能一直运行。

第一点:必须要指定容器的重启策略 onfailure和Never

第二点:执行失败的次数也是受限的,默认是6次,但是可以指定用backoffLimit:

backoffLimit: 4 #允许失败的次数是4次,4次之后,restartPolicy策略,来进行容器的重启或者不重启。

第三点:更新yaml文件。必须要先删除任务,再更新,不能动态更新的。

容器化部署,部署过数据库吗:

数据库是核心资产,不会容器化部署

5、cronjob:周期性任务,像linux的crontab一样语法一样:分 时 日 月 周

应用场景:如通知、定时备份 定时检测(结合探针一块做)

总结:

这五个都是控制器创建的pod,都是依赖于控制器

deployment:典型的无状态的应用,最好用的,也是最多的

statefulSet:有状态应用,有序的独立的pod

daemonSet:无状态应用,不能定义副本数,每个节点都运行一个pod,也可以指定节点

job:执行一次性的任务,必须要有重启策略,同时注意默认失败次数为6次。只有失败次数达到了,重启策略才会生效

cronjob:定时任务

写一个yaml用cronjob定期检测80端口是否存活 ,在加上存活探针检测80端口,用到tcpSocker

apiVersion: batch/v1beta1
kind: CronJob
metadata:name: hello
spec:schedule: "*/1 * * * *"jobTemplate:spec:template:metadata:labels:app: hellospec:containers:- name: helloimage: nginx:1.22command: ["/bin/bash", "-c", "date; echo hello is ok"]livenessProbe: #定义存活探针tcpSocket:port: 80restartPolicy: NeverbackoffLimit: 4 #允许任务失败的4次,4次后restartPolicy策略。来进行容器的重启或
不重启
~                                                                                   
~                                                                                   
~                                        

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

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

相关文章

删除运行框中的文件打开历史记录

当我们使用everything、百度、迅雷等软件,在列表中右键选中打开文件夹时。 当使用 winR 快捷键等方式打开运行时,输入盘符会出现之前打开过的文件夹, 一方面展示的特别多会比较混乱,另一方面 记得在之前的window版本中&#xff08…

WIFI7时代正式来临

Wi-Fi联盟在2024年1月8日宣布推出了Wi-Fi CERTIFIED 7认证,标志着WIFI7时代的正式来临!这一认证引入了一系列强大的新功能,旨在提升Wi-Fi性能并改善各种连接环境。WIFI7支持多用户AR/VR/XR、沉浸式3D培训、电子游戏、混合工作、工业物联网和汽…

架构师之超时未支付的订单进行取消操作的几种解决方案

今天给大家上一盘硬菜,并且是支付中非常重要的一个技术解决方案,有这块业务的同学注意自己尝试一把哈! 一、需求如下: 生成订单30分钟未支付,自动取消 生成订单60秒后,给用户发短信 对上述的需求,我们给…

【算法与数据结构】63、LeetCode不同路径 II

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:参考【算法与数据结构】62、LeetCode不同路径的题目,可以发现本题仅仅是多了障碍物。我们还…

springboot下载图片的简单处理方式

参考地址 springboot:各种下载文件的方式_springboot下载文件-CSDN博客 开箱即用实战 GetMapping("/t1")public void down1(HttpServletResponse response) throws Exception {response.reset();response.setContentType("application/octet-strea…

STM32F103标准外设库——认识STM32(一)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

MySQL存储引擎索引事务

一.存储引擎 1.创建的存储引擎 MyISAM 不支持事务、也不支持外键,索引采用非聚集索引,其优势是访问的速度快,对事务完整性没有要求,以 SELECT 、 INSERT 为主的应用基本上都可以使用这个存储引擎来创建表。 MyISAM 的表在磁盘上…

从零学Java 线程的状态

Java 线程的状态 文章目录 Java 线程的状态线程的基础状态1 常见方法1.1 休眠1.2 放弃1.3 加入1.4 优先级1.5 线程打断1.6 守护线程1.7 线程的状态 - 等待 2 线程安全问题2.1 线程同步: 同步代码块2.2 线程同步: 同步方法2.3 同步规则2.4 线程的状态 - 阻塞2.5 特殊现象: 死锁 …

新版网易滑块

突然发现脸皮厚根本没用,大冬天的,风吹过来还是会冷。 大哥们多整件衣裳,好冷!!!! 网易更新了,这俩 dt跟f值。 dt为 这里返回的,忽略掉他。 data参数中的d值&#xff…

未来气膜体育馆的发展趋势是什么?

未来气膜体育馆的发展趋势是多方面的,以下是其中几个方面的趋势。 起初,随着人们对体育运动的需求不断增加,气膜体育馆的建设和使用将成为一种趋势。气膜体育馆具有灵活性和可移动性的特点,可以快速搭建和拆除,能够适…

低代码平台,新型应用程序开发神器

目前低代码平台如火如荼。这一新兴技术为企业提供了一种高效、灵活、快速开发应用程序的方法,并在短时间内取得了巨大成功。然而,我们不得不面对低代码平台的优劣以及其所带来的挑战。本文将深入探讨低代码平台在不同情况下的优劣势,并与您分…

AI能否真的取代程序员?

一个Java程序员从接到需求到最终开发完功能的流程大致如下 首先是理解原型图,设计表结构根据表结构编写增删改查代码与前端联调,完成功能开发 那么以上步骤AI能不能完成呢? 让我们试一下: 第一步,使用 AI助手 解析流…

设计模式之状态模式【行为型模式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某…

postman环境变量全局变量设置

postman环境变量、全局变量设置 在公司中,一般会存在开发环境、测试环境、线上环境等,如果需要在不 同的环境下切换做接口测试,显然我们需要把所有接口的域名进行修改,如果接 口测试用例较多,那么修改会非常费力&…

Redis基础系列-哨兵模式

Redis基础系列-哨兵模式 文章目录 Redis基础系列-哨兵模式1. 引言2. 什么是哨兵模式?3. 哨兵模式的配置4. 哨兵模式的启动和验证4.1 主master宕机,看会出现什么问题4.2 重启6379主机 5. 哨兵模式的工作原理和选举原理5.1. SDown主观下线(Subj…

基于Python实现地标景点识别

目录 前言简介地标景点识别的背景 地标景点识别的原理卷积神经网络(CNN)的基本原理地标景点识别的工作流程 使用Python实现地标景点识别的步骤数据收集数据预处理构建卷积神经网络模型模型训练 参考文献 前言 简介 地标景点识别是一种基于计算机视觉技术…

Qt SDL2播放Wav音频

这里介绍两种方法来实现Qt播放Wav音频数据。 方法一&#xff1a;使用QAudioOutput pro文件中加入multimedia模块。 #include <QApplication> #include <QFile> #include <QAudioFormat> #include <QAudioOutput>int main(int argc, char *argv[]) {…

欧姆龙plc学习NJ系列CJ系列资料Sysmac Studio编程软件视频教程

Sysmac Studio是欧姆龙公司开发的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于编程和配置欧姆龙PLC&#xff08;可编程逻辑控制器&#xff09;和其他自动化设备。Sysmac Studio支持以下型号的欧姆龙PLC&#xff1a;1. NJ系列&#xff1a;NJ501、NJ301、NJ101、…

【算法】算法(模拟、指针等)解决字符串类题目(C++)

文章目录 1. 前言2. 解决 字符串类算法题14.最长公共前缀5.最长回文子串67.二进制求和43.字符串相乘 1. 前言 字符串题目有很多种&#xff0c;这里筛选几个考察模拟、双指针等的题目&#xff0c;并用相关算法解决。 2. 解决 字符串类算法题 14.最长公共前缀 思路 题意分析&…

【固态钽表面贴装电容】 MIL-PRF-55365 美军标

钽电解电容器是体积效率、电气参数稳定、高可靠性和长使用寿命是主要考虑因素的应用的首选。 钽/氧化钽/二氧化锰系统的稳定性和对高温的耐受性使固体钽消泡器成为当今表面贴装组装技术的合适选择。 钽不是纯净状态的。 相反&#xff0c;它通常存在于许多氧化物矿物中&#xf…