(六)Kubernetes系列之Deployment控制器

Kubernetes K8S之资源控制器RC、RS、Deployment详解 Kubernetes的资源控制器ReplicationController(RC)、ReplicaSet(RS)、Deployment(Deploy)详解与示例 阅读详情

pod是Kubernetes中的基本部署单元。通过《(五)Kubernetes系列之pod》学习你已知道如何手动创建、监督和管理它们。但在实际的应用中,你希望你的部署能自动保持运行,并且保持健康,不需要任何的手动干预。所以你几乎不会直接创建pod,而是创建ReplicationController或Deployment这样的资源控制器来创建并管理实际的pod。

Deployment控制器通过自定义Pod模板设置相应控制参数实现水平伸缩,以调节正在运行的相同Pod数。如果Pod或主机出现故障,则会自动启用新的Pod进行补充,以保证在集群中部署的Pod数与配置中的Pod数保持一致。Deployment控制器以ReplicaSet控制器为基础,增加了更灵活的生命周期管理功能,例如,滚动更新和回滚。

1.Deployment控制器的创建

1.1 创建模板文件

vi nginxdeployment.yml

内容如下:

d1b054b70db46290ce45e2da223ec97b.png

说明:

apiVersion表示使用的API版本

kind表示要创建的资源对象

metadata表示该资源对象的元数据。一个资源对象可拥有多个元数据,资源对象的name项,表示当前资源的命名。

spec表示该资源对象的具体设置

replicas:表示在控制器下托管的Pod需要保持的副本数量

selector/matchLabels:表示一个或多个自定义标签(label),其形式为键值对

template:Pod模板

1.2 执行命令使用1.1的模板创建deployment

kubectl apply -f [模板名] --record

注意:一定要带参数--record,这样会把每次修改Deployment控制器时所使用的命令记录到备注字段中,

Deployment控制器变更历史

1.3查看deployment控制器

kubectl get deployments

c4e5f7306dbb15067af829fe5aac789d.png

说明:Deployment控制器会创建3个Pod,可通过命令 kubectl get pods查看pod的状态

5aa42d3c40ca593fbd77d133892a0bea.png

2.Deployment控制器的伸缩

vi nginxdeployment.yml

修改副本数为6

24d1728629e9190f65de0a70cbb45f77.png

执行创建命令

kubectl apply -f [模板名] --record

查看deployment控制器

kubectl get deployments

cf37938b1f57fa3bbff10968e2674760.png

3.Deployment控制器更新

Recreate:创建新的Pod之前终止所有现有的Pod。

RollingUpdate:以滚动更新的方式更新Pod,通过maxUnavailable和maxSurge参数来控制滚动更新过程。

3.1Recreate方式

编辑deployment文件

vi nginxdeployment.yml

55c9e6a8f6230c49600ac7cb76311a60.png

执行创建命令

kubectl apply -f [模板名] --record

查看deployment

kubectl get deployments

可见AVAILABLE为0,说明该Deployment控制器下的所有Pod都暂时不可用。稍等一段时间会变成可用状态

3.2RollingUpdate方式

maxUnavailable:更新过程中能够进入不可用状态的Pod 的最大值或相对于总副本数的最大百分比。

maxSurge:能够额外创建的Pod数或相对于总副本数的百分比

b6937f5bf8ecb24f49ba787fb8465c16.png

执行创建命令

kubectl apply -f [模板名] --record

查看deployment

kubectl get deployments

4.Deployment控制器回滚

4.1查看的历史记录

kubectl rollout history deployment [Deployment名称}]

4553882d2346fd5816716adc45b39cda.png

kubectl rollout undo deployment [Deployment名称}]  --to-revision=[REVISION版本号]

k8s 控制器:Replicaset 和 Deployment k8s Deployments 阅读详情

相关推荐

kubernetes控制器-Deployment

在 Kubernetes 环境中,通过 ReplicaSet帮助我们实现集群的高可用, ReplicaSet (RS)的主要作用就是维持一组 Pod 副本的运行,保证一定数量的 Pod 在集群中正常运行,ReplicaSet 控制器会持续监听它控制的这些 Pod 的运行状态以及数量,保证应用集群的高可用;Deployment (简称为deploy) 是Kubernetes控制器的一种高级别实现,他构建于ReplicaSet控制器之上。

weixin_42816196的博客 1098

deployment

/在使用Recreate执行更新时,我们应用了新的模板文件后最开始会看到READY数量时0/5,AVAILABLE数量为0,UP-TO-DATE为0,表示没有一个pod执行更新,如果此时再去查询pod状态会发现之前的pod状态为Terminating,,稍等一段时间之后,我们会发现所有的pod都是可用的状态,并且deployment ready数量为5/5,UP-TO-DATE数量为5,表示更新了5个pod。以replicaset控制器为基础,增加了灵活性的生命周期管理功能,例如滚动更新和回滚。

m0_74206365的博客 185

k8s控制器Deployment使用详解

k8s 中Deployment使用详解

congge 7376

Kubernetes学习总结(17)—— Kubernetes 快速入门需要掌握的知识点总结

一、Docker Docker 是基于操作系统的沙盒技术,使得用户更简单和完整的去打包自己的应用。docker 底层是基于 Linux 的操作系统级别的虚拟化技术 LXC 实现;LXC 是通过 CGroup 实现了虚拟化资源管理,用来保证应用资源的隔离和应用系统资源的限制;服务器运行了多个服务,这些服务之间是可以互相影响的,其中的一个服务可以查看另外一个服务,这些是我们不愿意看到的,我们更希望同一台机器运行的服务能够完全隔离,互不影响就像运行在多台机器上一样。而 Linux 为我们提供了 NameSpac

科技D人生 1594

【K8S系列】深入解析 Kubernetes 中的 Deployment

Kubernetes(K8s)是一个开源的容器编排平台,旨在自动化应用程序的部署、扩展和管理。在 Kubernetes 中,Deployment 是一种用于管理无状态应用的工作负载资源,提供了丰富的功能,包括版本控制、滚动更新和回滚。本文将深入探讨 Kubernetes 中 Deployment 的工作机制、滚动更新的实现原理、关键组件、配置策略以及监控和回滚机制。

颜淡慕潇 2万+

【K8S系列】深入解析控制器

回忆一下,我和你详细介绍了 Pod 的用法,讲解了 Pod 这个 API 对象的各个字段。而接下来,我们就一起来看看“编排”这个 Kubernetes 项目最核心的功能吧。实际上,你可能已经有所感悟:Pod 这个看似复杂的 API 对象,实际上就是对容器的进一步抽象和封装而已。说得更形象些,“容器”镜像虽然好用,但是容器这样一个“沙盒”的概念,对于描述应用来说,还是太过简单了。这就好比,集装箱固然好用,但是如果它四面都光秃秃的,吊车还怎么把这个集装箱吊起来并摆放好呢?所以,

颜淡慕潇 3万+

(二十三)Kubernetes集群Pod控制器之Deployment控制器

暂停操作会在一批新的pod创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本,然后在筛选一部分用户请求路由到新版本的pod上,继续观察能否稳定地按照期望的方式运行,确定没问题之后在继续完成剩下的pod滚动更新,如果再这时觉得新版本的pod存在问题,则直接进行回滚操作,也被成为灰度发布或金丝雀发布。暂停操作就是当更新启动后执行的控制,暂停后,老pod不会删除,新pod正常创建,一批pod中既有新的也有旧的,当新版本的pod没问题后,在使用继续操作将所有pod更新为新版本。

11 1883

K8S中Deployment控制器的概念、原理解读以及使用技巧

Deployment是kubernetes中最常用的资源对象,为ReplicaSet和Pod的创建提供了一种声明式的定义方法, 在Deployment对象中描述一个期望的状态,Deployment控制器就会按照一定的控制速率把实际状态改成期望状态, 通过定义一个Deployment控制器会创建一个新的ReplicaSet控制器,通过ReplicaSet创建pod,删除Deployment控制器, 也会删除Deployment控制器下对应的ReplicaSet控制器和pod资源.

景天科技苑 2758

二十四、Kubernetes中Deployment(Deploy)控制器详解

Kubernetes中Deployment(Deploy)控制器详解

全栈行动派的博客 1194

硬件即代码:用软件工程思维拆解F450无人机装配的模块化设计哲学

本文探讨了如何用软件工程思维重构DJI-F450无人机的模块化设计,将硬件装配提升为可编程系统。通过硬件抽象层、控制系统分层架构和扩展槽位设计模式,展示了无人机装配的模块化哲学,并结合实际案例说明如何优化性能与安全性。

weixin_29294975的博客 386

SAP中寄售结算规则及要点分析

在做MRKO寄售结算时,系统会根据选定的期间和供应商等条件,将符合条件的寄售消耗或寄售上线的物料凭证找出。然后以供应商为单位。合并产生一张会计凭证。下图显示了通过MRKO结算后自动生成的会计凭证。 那么,在MRKO做寄售结算的规则是什么样的?做为寄售业务处理者的物流和财务需要掌握和了解哪些关于寄售结算的规则和控制逻辑。下面以笔者的经验分析一下: 1、寄售物料在系统中有两种处理方法,一种是通过MB1B 411 K ,通常该操作达到两个目的:将物料从仓库转移到线边库(表示即将要投入生产了)的同时将寄售库

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 8297

k8s—pod副本控制器Deployment

Deployment是⼀个定义及管理多副本应⽤(即多个副本 Pod)的新⼀代对象,与Replication Controller相⽐,它提供了更加完善的功能,使⽤起来更加简单⽅便。也会在宿主机上创建⼀个临时⽬录,这个⽬录将来就会被绑定挂载到容器所声明的 Volume ⽬录上。的副本,也就是副本集 ,这样就能够保证⼀定数量的副本⼀直可 ⽤,不会因为某⼀个Pod。所谓内部信息,指的是对这些信息感兴趣的,是 Kubernetes。#空的volume,创建出来的容器相应挂载目录也是空的。

qinxue722的博客 1432

华为擎云W515 PGUV-WBY0安装银河麒麟V10全流程解析

本文详细解析了华为擎云W515 PGUV-WBY0安装银河麒麟V10系统的全流程,包括准备工作、镜像下载与校验、启动盘制作、BIOS设置、安装过程关键选择、系统初始化及常见问题排查。特别针对ARM架构设备提供了实用技巧,帮助用户顺利完成国产化系统的部署与优化。

weixin_28725949的博客 698

K8S初级入门系列之六-控制器(RC/RS/Deployment)

本章节介绍了弹性扩缩容相关的控制器RC,RS以及Deployment。RS与RC的功能一致,推荐使用RS,通过设置副本数,控制目标Pod实例的个数,在异常情况,自动增删Pod实例,确保副本数与目标值一致。Deployment是更高阶的控制器,通过RS来控制Pod,除了基本的扩缩容功能,还实现了版本升级,灰度,回滚等功能。

恰恰虎的博客 1869

ZYNQ程序固化实战:从BOOT.bin生成到QSPI/SD卡双启动模式详解

本文详细解析了ZYNQ 7000系列程序固化的完整流程,重点解决了程序断电丢失问题。通过实战演示,从生成BOOT.bin文件到配置QSPI与SD卡双启动模式,逐步指导开发者实现程序在外部存储中的永久驻留,确保产品脱离调试器独立运行。

weixin_29193259的博客 517

学术版GPT安装教程——保姆版(附带原生GPT注册教程)

学术版GPT图文安装教程

DBenD的博客 2万+

k8s系列(六:实例)pod控制器、replicaSet、deployment、动态更新、控制更新节奏(金丝雀、蓝绿)

pod控制器的类型: ReplicaSet:支持滚动更新,自动扩缩容,用pod资源模板保证pod副本数量 Deployment:借助ReplicaSet来实现,还支持回退,声明式配置资源,这个服务是无状态的,必须保持一直运行,守护进程类 的 DaemonSet: 用一个节点精确保持一个特...

xopqaaa的博客 2425

IEEE Transactions on Industrial Informatics(TII) 投稿须知- Initial Submission

请注意,您可以在作者中心查看稿件的当前状态,如:在EIC办公室、分配给AE、AE邀请审稿人、AE指定审稿人、正在审稿、等待AE决定、等待EIC决定。为了确保公正的评审过程,我们要求在稿件中没有任何作者的身份(不包括作者的姓名、传记、隶属关系、求职信、签署的版权表格、识别脚注、致谢等)。如果你的手稿有很大一部分已经在会议上发表过,论文必须隐藏所有作者的身份,这样会议论文就可以被引用,就好像它是由不同的作者写的一样。请注意,通常你的技术成就是根据被引用的次数来评估的,而不是根据发表的论文数量。

loinleeai的博客 4430

【云原生_K8S系列】Kubernetes 控制器之 Deployment

Deployment 是 Kubernetes 中的一个控制器,它管理 Pod 的副本集(ReplicaSet)。通过定义 Deployment,用户可以描述一个应用的期望状态,例如需要多少个副本、使用什么镜像以及如何进行滚动更新。Deployment 会根据这些定义自动创建和管理 Pod,确保应用始终处于期望状态。动态创建和销毁 Pod查看升级进度和状态升级回滚,并具有版本记录暂停和恢复升级滚动重启Kubernetes Deployment 是管理应用生命周期的强大工具。

didiplus 2725

华为数通方向HCIP-DataCom H12-831题库(多选题:121-140)

华为数通HCIP H12-831多选题

didiplus 1291

手把手教你学pcie--性能调优 - 中断机制优化

在PCIe系统开发中,中断机制是主机与设备之间通信的重要组成部分。然而,不当的中断设计可能导致CPU负载过高、延迟增加等问题。本文将详细介绍如何优化PCIe系统的中断机制,提升系统性能和响应速度。传统中断(INTx):通过专用引脚发送中断信号,可能引发冲突且效率较低。消息中断(MSI):通过内存写操作发送中断消息,避免冲突并提高效率。扩展消息中断(MSI-X):基于MSI改进,支持更多独立中断向量,适用于复杂场景。选择合适的中断模式对系统性能至关重要。

MHD0815的博客 288

K8S控制器之Deployment详解及配置。

一,引入Deployment 对于kubernetes来说Pod是资源调度最小单元,kubernetes主要的功能就是管理多个Pod,Pod中可以包含一个或多个容器,而kubernetes是如可管理多个Pod的呢?对,没错,就是通过控制器,比如Deployment和ReplicaSet(rs)。 kubernetes下有多个Deployment,Deployment下管理RepliceSet,通过RepliceSet管理多个Pod,通过Pod管理容器。 它们之间的关系图如下: 二,Deploy.

无求道贾的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【云原生 | 从零开始学Kubernetes】十五、k8s核心技术-Deployment 控制器

Deployment控制器可以部署无状态应用管理Pod和ReplicaSet部署,滚动升级等功能应用场景:web服务,微服务Deployment表示用户对K8S集群的一次更新操作。Deployment是一个比RS( Replica Set, RS) 应用模型更广的 API 对象,可以是创建一个新的服务,更新一个新的服务,也可以是滚动升级一个服务。滚动升级一个服务,实际是创建一个新的RS,然后逐渐将新 RS 中副本数增加到理想状态,将旧RS中的副本数减少到0的复合操作。

欢迎关注,一起进步! 4236

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

K8s控制器详解:从Deployment到HPA

Kubernetes控制器是维护系统期望状态的核心组件,主要包括Deployment、DaemonSet、Job/CronJob、StatefulSet和HPA等类型。Deployment管理无状态Pod集群,支持扩缩容和滚动更新;DaemonSet确保每个节点运行指定Pod;Job/CronJob处理一次性或定时任务;StatefulSet专为有状态应用设计,提供持久化存储;HPA则根据资源使用情况自动调整Pod数量。这些控制器通过YAML文件配置,能够自动监控系统状态差异并进行调整,大大减轻了管理负担。

m0_60035550的博客 1188

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Kubernetes(k8s)Deployment、StatefulSet、DaemonSet、Job、CronJob五种控制器详解

一、简介 一般情况下,我们并不直接创建 Pod,而是通过 Deployment 来创建 Pod,由 Deployment 来负责创建、更新、维护其所管理的所有 Pods。 ReplicationSet(RS)和ReplicationController(RC)区别 这里就需要说一下ReplicationSet(RS)和ReplicationController(RC),RS是在RC基础上发展来的,在新版的Kubernetes中,已经将RC替换为RS 了,它们两者没有本质的区别,都是用于Pod副本数量的

匠人精神,持之以恒! 5884

架构师系列-k8s(四)-Deployment控制器

Deployment为Pod和Replica Set(下一代Replication Controller)提供声明式更新只需要在 Deployment 中描述想要的目标状态是什么,Deployment controller 就会帮您将 Pod 和ReplicaSet 的实际状态改变到您的目标状态,也可以定义一个全新的 Deployment 来创建 ReplicaSet 或者删除已有的 Deployment 并创建一个新的来替换。

dengwei_dw的专栏 1484
上一篇: (五)Kubernetes系列建pod
下一篇: (八)Kubernetes系列之Job、CronJob控制器
调试大师
博客等级 码龄3年 2340粉丝 61原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

调试大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值