k8s滚动更新

news/2024/5/19 8:25:20/文章来源:https://blog.csdn.net/ApexPredator/article/details/130888007

1.编写一个yaml文件

vi deployment-nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata: labels:app: nginxname: nginxnamespace: default
spec:replicas: 3progressDeadlineSeconds: 600  #表示在这个时间段内,如果 Deployment 的 Pod 没有完成更新,则认为更新失败。默认值为 600 秒。这个参数主要用于控制 Deployment 更新的超时时间,避免更新过程中出现问题导致一直处于更新中的状态minReadySeconds: 10     #表示 Deployment 的 Pod 至少需要在这个时间段内处于 Ready 状态,才会被认为是更新成功。默认值为 0 秒。这个参数主要用于控制 Deployment 更新的稳定性。在更新过程中,如果 Pod 的状态不稳定,可能会导致服务不可用。通过设置 minReadySeconds,可以确保更新后的 Pod 状态稳定后再将其纳入服务strategy:rollingUpdate:maxSurge: 1   #参数定义了在滚动更新过程中,允许同时处于正在部署状态的Pod数量与原有多少Pod数量的比例。例如,如果maxSurge设置为50%,则在进行滚动更新时,可以同时部署50%的新版本Pod,剩余的50%仍为旧版本Pod。默认值为25%,也可以使用准确的个数maxUnavailable: 0  #参数定义了在滚动更新过程中,允许同时处于不可用状态的Pod数量与原有多少Pod数量的比例。例如,如果maxUnavailable设置为25%,则在进行滚动更新时,最多允许25%的Pod处于不可用状态。这个参数可以用来控制滚动更新时对应用程序可用性的影响。默认值为25%,最安全的滚动更新是设置此项为0,maxSurge设置为1,即生成一个新版本的pod之后,再删除一个老版本的pod,所以在更新过程中会存在4个pod,但是这个配置的更新速度是最慢的type: RollingUpdate  #更新模式的配置,一共有两种更新模式,分别是RollingUpdate、Recreate,前者采用滚动更新的方式更新pod,后者则是直接删除所有旧版本的pod,再重建新版本的podselector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec: containers:- name: nginximage: nginx:1.17imagePullPolicy: IfNotPresent  #拉取镜像的策略,表示本地有这个镜像时,直接使用本地镜像,没有时才从镜像源拉取ports:- containerPort: 80resources:requests:memory: 50Micpu: 0.5limits:memory: 100Micpu: 1

2.使用yaml文件

kubectl create -f  deployment-nginx.yaml --record

 --record表示记录此版本到deployment的history中,回滚时可以使用

查看一下deployment和pod

kubectl get deployment -o wide -n default

kubectl get pod -n default

现在我们来更新一下nginx的镜像版本,做一个滚动升级,并且查看一下pod和deployment

kubectl set image deployment nginx nginx=nginx:1.18 --record

kubectl get deployment -o wide -n default

kubectl get pod -n default -l app=nginx

可以看到在滚动更新的过程中pod的个数变成了4个,当更新完成后pod的数量恢复成了3个

 再来查看一下deployment使用的镜像版本

kubectl get deployment nginx -o wide

 接下来介绍一下有关滚动更新的rollout命令

kubectl rollout history deployment nginx -n default

查看历史版本,可以通过历史版本中的revision恢复成指定的版本

 

 kubectl rollout pause deployment nginx -n default

暂停滚动更新

kubectl rollout resume deployment nginx -n default

恢复滚动更新

kubectl rollout status deployment nginx -n default

查看滚动更新的状态

 

kubectl rollout undo deployment nginx -n defaulre --to-revision=1

恢复到指定的版本

 

也可以使用以下命令查看

kubectl rollout --help

 

 

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

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

相关文章

【SUMO】SUMO运行自带的OSM入门教程

文章目录 一、运行CMD命令行二、进入OSM选择地图位置 首先给出官网教程: https://sumo.dlr.de/docs/Tutorials/OSMWebWizard.html 一、运行CMD命令行 代码: 先进入osmWebWizard.py文件地址 cd /d D:\SUMO\sumo-1.17.0\tools(替换成自己的…

能源汽车下乡充电桩建设优化建议及解决方案

安科瑞 耿敏花 摘 要:5月5日,国务院总理李强主持召开国务院常务会议,审议通过关于加快发展先进制造业集群的意见,部署加快建设充电基础设施,更好支持新能源汽车下乡和乡村振兴。 会议指出,农村新能源汽车市…

STM32单片机(三)第一节:GPIO输出

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

rust 中protobuf生成与使用

首先创建一个项目proto 进入到这个文件夹中 创建我们的proto文件 初始化的项目结构是这个样子的 新建一个hello.proto文件内容如下 syntax "proto3";package hello;service Greeter {rpc SayHello (HelloRequest) returns (HelloReply) {} }message HelloRequest …

落地页设计的营销心理学(二)

作为一个营销落地页的设计者,最关注的问题:怎么样设计才能让我的落地页有转化? 当然这可能有很多影响因素。但是,你有没有想过在用户打开落地页时,运用心理学概念留住他们,促使他们完成留资、下载、购买等动…

Unity | HDRP高清渲染管线学习笔记:示例场景解析

目录 一、HDRP入门 1.HDRP设置 1.1 HDRP配置文件中的全部设置项 1.1.1 Rendering下的Lit Shader Mode 1.1.2 Lighting 下的Volumetrics(体积光)和Screen Space Reflection(屏幕空间反射) 2.离线渲染VS实时渲染 3.Volume组件 …

把字节大佬花3个月时间整理的软件测试面经偷偷给室友,差点被他开除了···

写在前面 “这份软件测试面经看起来不错,等会一起发给他吧”,我看着面前的面试笔记自言自语道。 就在这时,背后传来了leder“阴森森”的声音:“不错吧,我可是足足花了三个月整理的” 始末 刚入职字节的我收到了大学室…

照片资源异地共享 ? tftgallery、xampp、快解析三种工具就能实现!

我的工作中,经常会收到处理各种图片的任务,在处理完图片之后,怎么发送给客户呢?传输的实现,需要一个安全而稳定的环境和即时方便的工具去进行操作与下载。一般情况下,我们大多会选择微信、QQ来作为传输下载…

基于stm32F407的hal库,移植FreeRTOS的具体步骤和遇到的问题(看正点原子的视频)

1. 资料准备 因为板子是stm32F407的第二版的,所以开始下的资料是旧版本的,但是旧版本的FreeRTOS工程没有hal库的,都是标准库的,这里是下载stm32F407最新版的资料,进行移植。 资料可以在正点原子官网下载,…

什么是可视化开发平台?拥有什么优势?

随着科技的进步和发展,可视化开发平台拥有广阔的市场前景,在提升企业办公企业效率、做好数据管理等方面具有自身的特色和优势。在办公自动化发展的年代,低代码开发平台是助力企业实现提质增效办公效率的得力助手,其可视化、易操作…

淘宝层级改版,五力模型上线!

最近临近618,淘系又各种功能改版,现在店铺层级也开始陆续改版了。从原来的只需要提升销售金额,到现在的五力模型。我们先说一下原来的店铺层级考核,跟现在的区别主要是哪? 1.原来店铺层级的考核升级特别简单&#xff0…

论文解读 | IROS 2022:MV6D:在RGB-D图像上使用深度逐点投票网络进行多视角6D姿态估计

原创 | 文 BFT机器人 01 研究背景 在计算机视觉领域,6D姿态估计是一种重要的任务,用于确定物体在3D空间中的位置和方向。它在许多应用领域具有广泛的应用,如机器人操作、虚拟现实、增强现实、物体跟踪等。 然而,传统的6D姿态估计方…

Windows Copilot,来了!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 5 月 23 日,微软 2023 Build 开发者大会正式开幕,跟 Google I/O 和 Apple WWDC 一样,每年微软都会在 Build 大会上发布各种新产品。 由于最近几个月 Cha…

webpack简单的搭建和使用

随便创建一个空的文件夹,例如说:explore 然后我们测试一下我们的node是否存在 可以正确打印出版本 我们再次输入:npm init -y 创建一个package.json文件 出现这样的情况就成功了 然后我们要安装webpack在终端上输入命令: npm i …

智能排班系统 【管理系统功能、操作说明——下篇】

文章目录 页面与功能展示排班日历月视图(按职位查询)月视图(按员工查询)周视图 排班任务管理创建排班计算任务设置任务的排班规则设置工作日客流量导入任务计算查看任务结果发布任务任务多算法计算 页面与功能展示 排班日历 在排…

LiveGBS流媒体平台国标GB/T28181功能-作为下级级联到海康大华宇视华为等第三方国标平台同样支持对接政务公安内网国标视频平台

LiveGBS流媒体平台国标GB/T28181功能-作为下级级联到海康大华宇视华为等第三方国标平台同样支持对接政务公安内网国标视频平台 1、什么是GB/T28181级联2、搭建GB28181国标流媒体平台3、获取上级平台接入信息3.1、如何提供信息给上级3.2、上级国标平台如何添加下级域3.2、接入Li…

注意力Transformer

注意力 注意力分为两步: 计算注意力分布 α \alpha α 其实就是,打分函数进行打分,然后softmax进行归一化 根据 α \alpha α来计算输入信息的加权平均(软注意力) 其选择的信息是所有输入向量在注意力下的分布 打…

如何快速搭建SpringBoot+Vue前后端分离的开发环境

唠嗑部分 今天我们来说一说,如何快速搭建SpringBootVue前后端分离的开发环境 需要前置环境nodejs,请自行安装(傻瓜式安装) SpringBoot采用2.4.2版本,Vue采用Vue2版本 言归正传 创建Vue项目 1、安装vue npm install -g vue/cli2、检查v…

当二叉树遇上递归:如何判断单值二叉树?

本篇博客会讲解力扣“965. 单值二叉树”的解题思路,这是题目链接。 先来审题: 以下是输出示例: 以下是提示: 本题非常适合使用递归实现。分以下情况讨论: 若是空树,则符合单值二叉树的性质。若非空&am…

【亲测有效】idea部署jrebel插件

idea部署jrebel插件 1.背景 最近在维护tomcat项目,工程修改代码后需要rebuild才能更新class文件,进而运行生效。 同事介绍jrebel可以实现热部署,于是接入使用。 2.简介 JRebel是一套JavaEE开发工具。 Jrebel 可快速实现热部署&#xff0c…