《Kubernetes in Action》第9章 更新应用

部署:声明式地更新应用

  • 0 引入新的资源类型Deployment
  • 更新策略:1) 停止所有旧版本,部署新版本(Recreate);(2) 启动所有新版本,再停止旧版本,称之蓝绿部署;手动滚动更新,缩小旧ReplicationController,扩大新的(RollingUpdate);自动滚动更新。
  • 单个yaml文件可以同时定义多个类型的资源,只需要用—作分割线。
  • 从某个pod中,访问集群IP kubectl exec kubia-v1-8qsjf – curl -s 10.109.223.87
  • 已经废弃的滚动更新命令kubectl rolling-update kubia-v1 kubia-v2 --image=luksa/kubia:v2,该命令会复制旧的模板信息,启动新的Controller。为旧pod添加deployment标签,再更新旧ReplicationController的Selector。新旧Controller的标签值不一样。然后开始缩放。
  • –v 6 查看kubectl发给API Server的请求。
  • 废弃kubectl rolling-update的原因:不想让label被修改,这样会导致某些selector失效;缩放过程中网络可能故障,导致一些问题。
  • 引入新的资源类型Deployment,避免旧的自动滚动更新带来的问题。Deployment是一个高级别的资源,高于ReplicaSets,方便对ReplicaSets进行操作。
  • kubectl rollout status deployment kubia
  • kubectl patch deployment kubia -p ‘{“spec”: {“minReadySeconds”: 10}}’ 修改资源。
  • 更新镜像,触发滚动更新:kubectl set image deployment kubia nodejs=myorange/kubia:v2
  • 回滚更新:kubectl rollout undo deployment kubia
  • 查看回滚历史:kubectl rollout history deployment kubia
  • 回滚到指定版本:kubectl rollout undo deployment kubia --to-revision=1
  • 控制回滚速率:maxSurge最多允许(1+p)*n个实例存在, maxUnavilable 存活点实例/n >= (1 - p)。也可能不是概率,是个数
  • 暂停回滚过程:kubectl rollout pause deployment kubia。恢复回滚:kubectl rollout resume deployment kubia
  • 更新。kubectl apply -f kubia-deployment-v3-with-readinesscheck.yaml --validate=false readiness探针阻止坏的版本滚动更新。

Review
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值