正常来说 k8s 的 deployment 在更新时默认就会进行滚动的升级

但是实际操作中会发现,滚动更新过程中应用还是会“挂掉”一会儿,大概会有几秒钟网页访问 502。

究其原因应该是容器启动后,到应用真正工作起来,中间会有一段时间,比如在 runserver 前需要进行一下 migrate 等操作,这段时间应用是无法正常访问的,但 k8s 却认为应用是正常就绪状态。

解决方式是设置一个合理的 minReadySeconds 值,这个值默认是 0

参考如下:

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

name: webapp

labels:

app: webapp

spec:

replicas: 1

minReadySeconds: 10 # 这里需要估一个比较合理的值,从容器启动到应用正常提供服务

strategy: # k8s 默认的 strategy 就是 RollingUpdate, 这里写明出来可以调节细节参数

type: RollingUpdate

rollingUpdate:

maxSurge: 1 # 更新时允许最大激增的容器数,默认 replicas 的 1/4 向上取整

maxUnavailable: 0 # 更新时允许最大 unavailable 容器数,默认 replicas 的 1/4 向下取整

selector:

matchLabels:

app: webapp

template:

metadata:

name: webapp

labels:

app: webapp

spec:

containers:

- name: heyshop-app-combo-backend

image: django-app-image:latest

imagePullPolicy: Always

command:

- bash

args:

- "-c"

- "python manage.py migrate; gunicorn run.wsgi; "

k8s滚动升级_k8s deployment 滚动更新相关推荐

  1. Deployment滚动升级

    一.简介 Deployment 是一种更高级的资源,用于部署或升级应用. 创建Deployment时,ReplicaSet资源会随之创建,实际Pod是由ReplicaSet创建和管理,而不是由Depl ...

  2. K8S的灰度发布、滚动更新、蓝绿发布

    K8S灰度发布.蓝绿发布.滚动更新 一.简介 1.1灰度发布(金丝雀发布) 金丝雀发布一般是先发1台机器,或者一个小比例,例如2%的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试,国内 ...

  3. Docker Swarm mode与滚动升级

    Swarm mode与滚动升级 Swarm里面有个很好的姿势,就是可以动态的更新某个服务对应的镜像,已达到滚动升级的目的,而不是重新制作这个服务,并且重新制作的话不光麻烦,还不好管理,swarm的这个 ...

  4. 线上发版如何做到分批发的?详解蓝绿部署,滚动升级,A/B 测试,灰度发布/金丝雀发布

    过去的 10 年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上" Sliver Bullet ",但确实很实用.在有关于"微服务&qu ...

  5. linux 不识别 svg,manjaro/archlinux用yaourt -Syu滚动升级后大量图标主题不能用svg图标不能识别...

    系统版本: manjaro linux 2016.10 升级日期: 2017.03.12 故障描述: 所有svg图标均不能识别.像maia.flattr这样的svg图标主题全都不能用,全都fallba ...

  6. HDFS的滚动升级: Rolling Upgrade

    前言 目前Hadoop版本更新迭代的速度还是比较快的,每次新版本的发布,都是一件令人期待的事情.因为这意味着用户可以使用新的功能特性,又或者说在新版中某某模块性能得到了巨大提升等等.现在问题来了,如果 ...

  7. 微软S2D2016滚动升级2019

    Storage Space Direct(简称S2D)是微软在Windows Server 2016数据中心版集成的第三代软件定义存储技术,S2D技术能够将工业标准X86服务器的本地磁盘汇总构建出具备 ...

  8. Kubernetes基础:滚动升级回滚:rolling-update之rollback

    上篇文章介绍了在RC中的滚动升级,这篇继续介绍RC中回滚的方式. RC滚动升级 可参看如下内容:https://liumiaocn.blog.csdn.net/article/details/1042 ...

  9. ansible中的角色使用--nginx+持续交付和滚动升级+时间同步角色+selinux+自动添加磁盘

    文章目录 1. nginx 2. 持续交付和滚动升级 3. noarch(时间同步角色) 4. selinux 5.自动添加磁盘 使用角色添加磁盘 用任务命令创建lv 用任务命令进行设备分区 ansi ...

最新文章

  1. Python 技术篇-PyQt5动画功能演示,组件移动、尺寸改变动画演示
  2. webpack从入门到精通(二)开发环境的基本配置
  3. 软考考试仅剩几天,如何冲刺?
  4. BugKuCTF 杂项 宽带信息泄露
  5. latex 新定义环境 引用_炉石传说:完全虐杀式上分!新版本第二天动物园迅速定义环境!...
  6. labview当前vi路径_对于LabVIEW程序为什么生成EXE后,涉及到路径的输出不正确了?...
  7. linux 下执行.sh文件总是提示permission denied
  8. Java 9中的新Regex功能
  9. android camera工程师,Android从Camera中获取图片的两种方法
  10. Oracle-数据库
  11. 简单聊聊智能硬件的固件测试
  12. 用什么录屏软件能录制高清视频
  13. 【黑群晖】搭建共享存储云盘系统
  14. object c中的多态
  15. Anaconda下载安装教程
  16. python列表获取最后一个元素的方法_在Python中获取列表的最后一个元素
  17. 解决刷新页面Vuex数据丢失问题
  18. 自动控制原理之一稳态误差分析/MATLAB
  19. Java安装 jdk环境配置
  20. Vue | Vue.js 全家桶 - Vue-Router详解

热门文章

  1. Microsoft Build 2018 直播来啦!
  2. spring cloud+dotnet core搭建微服务架构:配置中心(四)
  3. .NET Core 2.0 特性介绍和使用指南
  4. [信息安全] 1.密码工具箱
  5. 走进异步编程的世界 - 开始接触 async/await
  6. 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端
  7. 微软想让你跟机器人说句话就把事办了
  8. Sql数据库批量清理日志
  9. 【看动漫学编程】程序员在异世界生个娃 第2篇:外挂已准备就绪
  10. wait放弃对象锁_Java线程中wait、await、sleep、yield、join用法总结