摘要: 上一节讨论了 Health Check 在 Scale Up 中的应用,Health Check 另一个重要的应用场景是 Rolling Update。试想一下下面的情况: 现有一个正常运行的多副本应用,接下来对应用进行更新(比如使用更高版本的 image),Kubernetes 会启动新副本,然后 阅读全文
posted @ 2019-06-28 14:15 TwoB 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 对于多副本应用,当执行 Scale Up 操作时,新副本会作为 backend 被添加到 Service 的负载均衡中,与已有副本一起处理客户的请求。考虑到应用启动通常都需要一个准备阶段,比如加载缓存数据,连接数据库等,从容器启动到正真能够提供服务是需要一段时间的。我们可以通过 Readiness 阅读全文
posted @ 2019-06-28 14:14 TwoB 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 除了 Liveness 探测,Kubernetes Health Check 机制还包括 Readiness 探测。 用户通过 Liveness 探测可以告诉 Kubernetes 什么时候通过重启容器实现自愈;Readiness 探测则是告诉 Kubernetes 什么时候可以将容器加入到 Ser 阅读全文
posted @ 2019-06-28 11:40 TwoB 阅读(332) 评论(0) 推荐(0) 编辑
摘要: Liveness 探测让用户可以自定义判断容器是否健康的条件。如果探测失败,Kubernetes 就会重启容器。 还是举例说明,创建如下 Pod: 启动进程首先创建文件 /tmp/healthy,30 秒后删除,在我们的设定中,如果 /tmp/healthy 文件存在,则认为容器处于正常状态,反正则 阅读全文
posted @ 2019-06-28 11:35 TwoB 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性。自愈的默认实现方式是自动重启发生故障的容器。除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署。 避免部署无效的镜像。 更加安全的滚动升级。 下面通过 阅读全文
posted @ 2019-06-28 11:27 TwoB 阅读(332) 评论(0) 推荐(0) 编辑
摘要: kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。 默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revis 阅读全文
posted @ 2019-06-28 00:08 TwoB 阅读(241) 评论(0) 推荐(0) 编辑