首页 > 其他分享 >Deployment滚动更新

Deployment滚动更新

时间:2023-02-05 15:13:21浏览次数:36  
标签:10 滚动 replicas Deployment 更新 nginx maxUnavailable deployment

创建Deployment

nginx-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  progressDeadlineSeconds: 600
  replicas: 10
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx-deployment
  strategy:
rollingUpdate:
      # 升级过程中最多比replicas多出的新增Pod数量
      maxSurge: 25%
      # 升级过程中最多的无法提供服务的Pod数量
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: nginx-deployment
    spec:
      containers:
      - name: nginx-deployment
        image: nginx:1.9
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80

创建应用

kubectl create -f nginx-deployment.yaml

更新镜像

kubectl set image nginx-deployment nginx-deployment=nginx:1.9.3

滚动更新过程

创建newRS,replicas 是3。

// 10*25%=2.5
// 向上取整为3
maxSurge = replicas * deployment.spec.strategy.rollingUpdate.maxSurge

缩容oldRS,replicas是8。

// 10*0.25=2.5
// 向下取整为2
maxUnavailable = replicas * deployment.spec.strategy.rollingUpdate.maxUnavailable

newRS不断增加到10个,oldRS不断减少到0个。变化过程中,Pod总数控制在13个,最少的可提供服务数量控制在8个。

// 8 = 10 - 2
minAvailable := *(deployment.Spec.Replicas) - maxUnavailable

 

标签:10,滚动,replicas,Deployment,更新,nginx,maxUnavailable,deployment
From: https://www.cnblogs.com/WJQ2017/p/17093379.html

相关文章

  • gorm中进行更新与删除操作
    这是一个系列的文章,上一篇的地址:上一篇上集我们说到如何进行查询的工作,这里我们来看看如何更新。还是SingleTable.go这个文件,只修改main函数中的内容:funcmain(){ va......
  • kubernetes-Deployment
    Deployment它是专门用来部署应用程序的,能够让应用永不宕机,多用来发布无状态的应用,是Kubernetes里最常用也是最有用的一个对象。YAML样板apiVersion:apps/v1kind:D......
  • image copy增量更新备份解析
    文档课题:imagecopy增量更新备份解析.数据库:oracle11.2.0.41、概念当执行imagecopy的增量更新备份时,recover与backup每天的执行情况如下图所示:语句:recovercopyofdataba......
  • spring boot集成mybatis-plus——Mybatis Plus 更新数据(图文讲解)
    MybatisPlus更新数据(图文讲解) 更新时间2022-12-3013:32:48大家好,我是小哈。本小节中,我们将学习如何通过MybatisPlus修改数据库表中的数据。表结构在前面小节......
  • vue-seamless-scroll(一个简单的基于vue.js的无缝滚动)
    一般在数据可视化项目中经常会看到无缝滚动的表格,即轮播表,我们可以使用 vue-seamless-scroll来实现,使用起来也很方便 vue-seamless-scroll官网:​​vue-seamless-scroll​......
  • Axure App 垂直滚动
    拖两个动态面版最外层【动态面板】用来定义显示区域,高度:692(根据实际来)里面的【动态面板】,用来放内容,高度根据实际情况来,示例中是:1920如下图所示里面的【动态面板】添加垂直......
  • 【云原生kubernetes】k8s控制器Deployment使用详解
    前言在上一篇我们聊了k8s中各种控制器的使用,本篇将以控制器中比较常用的一种控制器Deployment进行详细的说明。一、Deployment简介 为了更好解决服务编排的问题,kubernete......
  • 文抄(更新中....)
    南国的微凉的雨,山间深谷无可捉摸的回声,早春黎明难以追寻的迷惘,夜雨中芭蕉矜持的沉默窗下鸣琴,阶前鼓瑟灯阴绷线,织半夜冷露以奶汁洗涤的柔美的天空篝火燃烧的情窦初开的......
  • 《Vue.js 设计与实现》读书笔记 - 第8章、挂载与更新
    第8章、挂载与更新8.1挂载子节点和元素的属性扩展子元素的类型可以为数组,并判断如果是数组的话,就先依次挂载所有的子元素。同时新增节点属性。属性可以通过el.setAttr......
  • HTML一键打包APK工具最新版1.9.2更新(附下载地址)
    HMTL网址打包APK,可以把本地HTML项目,Egret游戏,网页游戏,或者网站打包为一个安卓应用APK文件,无需编写任何代码,也无需配置安卓开发环境,支持在最新的安卓设备上安装运行。打包......