• 小龙
    2018-10-01
    老师真的是厉害,我在极客时间买了17门课了,这个是含金量最高的一门

    作者回复: 17门,你也厉害!

     1
     55
  • 胖宝王
    2018-10-01
    金丝雀部署:优先发布一台或少量机器升级,等验证无误后再更新其他机器。优点是用户影响范围小,不足之处是要额外控制如何做自动更新。
    蓝绿部署:2组机器,蓝代表当前的V1版本,绿代表已经升级完成的V2版本。通过LB将流量全部导入V2完成升级部署。优点是切换快速,缺点是影响全部用户。
    本文学习的滚动更新,我觉得就是一个自动化更新的金丝雀发布。

    作者回复: 说的没错,可以看看文末的例子实践一下

    
     35
  • 黑米
    2018-12-22
    老师真的是厉害,我在极客时间买了24门课了,这个是含金量第二高的一门

    作者回复: 不是第一高不开心

     6
     8
  • 胖宝王
    2018-10-01
    金丝雀发布:先发布一台机器或少量机器,做流量验证。如果新版没问题在把剩余机器全部更新。优点是影响范围小,不足的是要自己想办法如何控制自动更新。
    蓝绿部署:事先准备好一组机器(绿组)全部更新,然后调整LB将流量全部引到绿组。优点是切换快捷回滚方便。不足的是有问题则影响全部用户。
    对于本文学习的 rolling update,我理解的像是自动化更新的金丝雀发布。
    
     8
  • 蜗牛
    2018-10-07
    关于Pod的状态一直有一些疑问, 学完这节课就更混了, 囧. 还望老师能解答下.

    `kubectl get deployments` 得到的 available 字段表示的是处于Running状态且健康检查通过的Pod, 这里有一个疑问: 健康检查不是针对Pod里面的Container吗? 如果某一个Pod里面包含多个Container, 但是这些Container健康检查有些并没有通过, 那么此时该Pod会出现在 available里面吗?

    Pod通过健康检查是指里面所有的Container都通过吗?
    展开

    作者回复: 都通过

    
     7
  • 原来只是梦
    2018-12-16
    老师你好!之前有同学提到这个rollout像自动化的金丝雀发布,对于这一点我不太理解。发布的时候会是一个轮换的过程,也就是说用不了多少时间,就会都运行在新的rs,或者都回滚到老的rs(出错)。我的理解要金丝雀的话,需要保持同时存在两个rs一定时间,以确保新版本没问题。那么这个在k8s里是怎么实现呢?
     1
     6
  • Tigerfive
    2018-10-01
    半夜从火车上醒来,就来看看有没有更新,果然没有让我失望!

    作者回复: 国庆可以充电啦

    
     5
  • 千寻
    2018-10-01
    在滚动更新的过程中,Service的流量转发会有怎样的变化呢?

    作者回复: service只会代理readiness检查返回正确的pod

    
     4
  • 阿文
    2019-08-16
    注意,在这里,我额外加了一个–record 参数。它的作用,...

    这个应该要解释下--record 是只记录当前命令,老师,你下面的命令没有加。history 里面只看到
       kubectl create --filename=nginx-deployment.yaml --record=true

    作者回复: 对

    
     3
  • 黑米
    2018-12-23
    不用不高兴,你第二没人敢认第一👍
    
     3
  • Nokiak8
    2018-10-12
    Cronjob 类型也有spec.revisionHistoryLimit么?

    作者回复: successfulJobsHistoryLimit和failedJobsHistoryLimit

    
     3
  • 思维决定未来
    2019-09-04
    金丝雀和蓝绿发布实际是在流量入口(Ingress)来控制的,并不是通过其他Controller来控制Deployment,在更新时,直接部署一个新的Deployment,然后通过调整流量比例到不同的Deployment从而实现对应更新,而蓝绿和金丝雀的区别就是新版本的Deployment是否一次性将副本数开到跟原Deployment一样多。
    
     2
  • 王由华
    2018-12-17
    有个问题,scale down时,k8s是对pod里的容器发送kill 信号吗?所以应用需要处理好这个信号?

    作者回复: 先term 再kill。需要处理。

     1
     2
  • 我是一根葱
    2018-11-04
    请教个问题,如果水平收缩的过程中,某个pod中的容器有正在运行的业务,而业务如果中断的话可能会导致数据库数据出错,该怎么办?如何保证把pod的业务执行完再收缩?

    作者回复: 业务需要优雅处理sig term

    
     2
  • DI-陈赜(ze)
    2019-08-15
    revisionHistoryLimit默认是10个版本
    
     1
  • 哈希碰撞
    2019-08-08
    一个 ReplicaSet 对象,不难发现是 Deployment 的一个子集?
    请问怎么不难发现? 我觉得很难发现。。。从示例的YAML文件内容上看,看不出任何关连。
     1
     1
  • Sir
    2018-12-19
    老师您好,我们有一个集群,滚动升级,遇到新的deploy已经健康了,老的deploy一直还在,持续很久!不知道老师遇到过嘛~
    
     1
  • Yao1931
    2018-11-02
    知识点好多的一节课!!老师写的都很透彻!
    
     1
  • 小小笑儿
    2018-10-01
    有几个问题想请问一下:
    1是在 deployment rollout undo 的时候,是也会创建一个新的rs对象吗?如果是的话那么这个rs的template hash不就重复了?如果不是得话又是如何处理的呢?
    2是deployment 关注的应该是自身的api对象和rs的api对象,但是我看deployment controller 的源码中也关注了pod的变更,这是为了处理哪种情况?

    作者回复: 回滚又不是创建新版本,版本与rs一一对应,怎么会出现新的rs呢?滚动升级反向操作即可。

    它只关心pod被全删除的情况,因为有一种滚动更新策略是这时候重新创建新的deployment

    
     1
  • 阿鹏
    2018-10-01
    老师,我们公司准备试水k8s,我看网上很多文章都在说跨主机容器间通信的解决方案,如果我们的服务分批容器化,需要解决宿主机网络和容器网络的互通,我用flannel或者calico目前都只能做到宿主机能访问容器网络或者容器能访问宿主机网络,不能做到双向通讯,老师能指点一下吗?

    作者回复: 为什么是 或者?宿主机和容器网络互通是基本假设。

    
     1
我们在线,来聊聊吧