k8s滚动升级_k8s deployment 滚动更新
正常来说 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 滚动更新相关推荐
- Deployment滚动升级
一.简介 Deployment 是一种更高级的资源,用于部署或升级应用. 创建Deployment时,ReplicaSet资源会随之创建,实际Pod是由ReplicaSet创建和管理,而不是由Depl ...
- K8S的灰度发布、滚动更新、蓝绿发布
K8S灰度发布.蓝绿发布.滚动更新 一.简介 1.1灰度发布(金丝雀发布) 金丝雀发布一般是先发1台机器,或者一个小比例,例如2%的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试,国内 ...
- Docker Swarm mode与滚动升级
Swarm mode与滚动升级 Swarm里面有个很好的姿势,就是可以动态的更新某个服务对应的镜像,已达到滚动升级的目的,而不是重新制作这个服务,并且重新制作的话不光麻烦,还不好管理,swarm的这个 ...
- 线上发版如何做到分批发的?详解蓝绿部署,滚动升级,A/B 测试,灰度发布/金丝雀发布
过去的 10 年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上" Sliver Bullet ",但确实很实用.在有关于"微服务&qu ...
- linux 不识别 svg,manjaro/archlinux用yaourt -Syu滚动升级后大量图标主题不能用svg图标不能识别...
系统版本: manjaro linux 2016.10 升级日期: 2017.03.12 故障描述: 所有svg图标均不能识别.像maia.flattr这样的svg图标主题全都不能用,全都fallba ...
- HDFS的滚动升级: Rolling Upgrade
前言 目前Hadoop版本更新迭代的速度还是比较快的,每次新版本的发布,都是一件令人期待的事情.因为这意味着用户可以使用新的功能特性,又或者说在新版中某某模块性能得到了巨大提升等等.现在问题来了,如果 ...
- 微软S2D2016滚动升级2019
Storage Space Direct(简称S2D)是微软在Windows Server 2016数据中心版集成的第三代软件定义存储技术,S2D技术能够将工业标准X86服务器的本地磁盘汇总构建出具备 ...
- Kubernetes基础:滚动升级回滚:rolling-update之rollback
上篇文章介绍了在RC中的滚动升级,这篇继续介绍RC中回滚的方式. RC滚动升级 可参看如下内容:https://liumiaocn.blog.csdn.net/article/details/1042 ...
- ansible中的角色使用--nginx+持续交付和滚动升级+时间同步角色+selinux+自动添加磁盘
文章目录 1. nginx 2. 持续交付和滚动升级 3. noarch(时间同步角色) 4. selinux 5.自动添加磁盘 使用角色添加磁盘 用任务命令创建lv 用任务命令进行设备分区 ansi ...
最新文章
- Python 技术篇-PyQt5动画功能演示,组件移动、尺寸改变动画演示
- webpack从入门到精通(二)开发环境的基本配置
- 软考考试仅剩几天,如何冲刺?
- BugKuCTF 杂项 宽带信息泄露
- latex 新定义环境 引用_炉石传说:完全虐杀式上分!新版本第二天动物园迅速定义环境!...
- labview当前vi路径_对于LabVIEW程序为什么生成EXE后,涉及到路径的输出不正确了?...
- linux 下执行.sh文件总是提示permission denied
- Java 9中的新Regex功能
- android camera工程师,Android从Camera中获取图片的两种方法
- Oracle-数据库
- 简单聊聊智能硬件的固件测试
- 用什么录屏软件能录制高清视频
- 【黑群晖】搭建共享存储云盘系统
- object c中的多态
- Anaconda下载安装教程
- python列表获取最后一个元素的方法_在Python中获取列表的最后一个元素
- 解决刷新页面Vuex数据丢失问题
- 自动控制原理之一稳态误差分析/MATLAB
- Java安装 jdk环境配置
- Vue | Vue.js 全家桶 - Vue-Router详解
热门文章
- Microsoft Build 2018 直播来啦!
- spring cloud+dotnet core搭建微服务架构:配置中心(四)
- .NET Core 2.0 特性介绍和使用指南
- [信息安全] 1.密码工具箱
- 走进异步编程的世界 - 开始接触 async/await
- 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端
- 微软想让你跟机器人说句话就把事办了
- Sql数据库批量清理日志
- 【看动漫学编程】程序员在异世界生个娃 第2篇:外挂已准备就绪
- wait放弃对象锁_Java线程中wait、await、sleep、yield、join用法总结