kubernetes滚动更新

示例:

阳春ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

创建一个app:
kubectl create deployment nginx --image=nginx:1.11

创建service
kubectl expose deployment nginx --port=80 --type=NodePort

扩缩容:
kubectl scale deployment nginx --replicas=5

修改镜像,滚动更新:
kubectl set image deployment nginx nginx=nginx:1.10

或者
kubectl edit deployment/nginx

查看更新状态:
kubectl rollout status deployment nginx

终止升级
kubectl rollout pause deployment/nginx

继续升级
kubectl rollout resume deployment/nginx

回滚
kubectl rollout undo deployment/nginx

回滚到指定版本
kubectl rollout undo deployment/nginx --to-revision=2

查看滚动版本:
kubectl rollout history deployment nginx

查看信息:
kubectl describe deployment/nginx

几个重要参数说明
maxSurge与maxUnavailable
maxSurge: 1 表示滚动升级时会先启动1个pod
maxUnavailable: 1 表示滚动升级时允许的最大Unavailable的pod个数
由于replicas为3,则整个升级,pod个数在2-4个之间

terminationGracePeriodSeconds
k8s将会给应用发送SIGTERM信号,可以用来正确、优雅地关闭应用,默认为30秒。

如果需要更优雅地关闭,则可以使用k8s提供的pre-stop lifecycle hook 的配置声明,将会在发送SIGTERM之前执行。

livenessProbe与readinessProbe
livenessProbe是kubernetes认为该pod是存活的,不存在则需要kill掉,然后再新启动一个,以达到replicas指定的个数。
readinessProbe是kubernetes认为该pod是启动成功的,这里根据每个应用的特性,自己去判断,可以执行command,也可以进行httpGet。比如对于使用java web服务的应用来说,并不是简单地说tomcat启动成功就可以对外提供服务的,还需要等待spring容器初始化,数据库连接连接上等等。对于spring boot应用,默认的actuator带有/health接口,可以用来进行启动成功的判断。

其中readinessProbe.initialDelaySeconds可以设置为系统完全启动起来所需的最少时间,livenessProbe.initialDelaySeconds可以设置为系统完全启动起来所需的最大时间+若干秒。


标题名称:kubernetes滚动更新
链接分享:http://bzwzjz.com/article/ggeccc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计 成都网站建设 定制网站设计 成都响应式网站建设 重庆外贸网站建设 成都定制网站建设 高端网站建设 高端网站设计 成都网站设计 成都网站制作 定制级高端网站建设 企业网站制作 响应式网站建设 营销网站建设 网站设计 成都网站建设 梓潼网站设计 成都网站建设公司 成都网站建设 成都h5网站建设 成都品牌网站设计 网站建设改版