在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)

对于多副本应用,当执行 Scale Up 操作时,新副本会作为 backend 被添加到 Service 的负责均衡中,与已有副本一起处理客户的请求。考虑到应用启动通常都需要一个准备阶段,比如加载缓存数据,连接数据库等,从容器启动到正真能够提供服务是需要一段时间的。我们可以通过 Readiness 探测判断容器是否就绪,避免将请求发送到还没有 ready 的 backend。

下面是示例应用的配置文件。

重点关注 readinessProbe 部分。这里我们使用了不同于 exec 的另一种探测方法 -- httpGet。Kubernetes 对于该方法探测成功的判断条件是 http 请求的返回代码在 200-400 之间。

schema 指定协议,支持 HTTP(默认值)和 HTTPS
path 指定访问路径。
port 指定端口。

上面配置的作用是:

  1. 容器启动 10 秒之后开始探测。

  2. 如果 http://[container_ip]:8080/healthy 返回代码不是 200-400,表示容器没有就绪,不接收 Service web-svc 的请求。

  3. 每隔 5 秒再探测一次。

  4. 直到返回代码为 200-400,表明容器已经就绪,然后将其加入到 web-svc 的负责均衡中,开始处理客户请求。

  5. 探测会继续以 5 秒的间隔执行,如果连续发生 3 次失败,容器又会从负载均衡中移除,直到下次探测成功重新加入。

对于 http://[container_ip]:8080/healthy,应用则可以实现自己的判断逻辑,比如检查所依赖的数据库是否就绪,示例代码如下:

① 定义 /healthy 的处理函数。

② 连接数据库并执行测试 SQL。

③ 测试成功,正常返回,代码 200。

④ 测试失败,返回错误代码 503。

⑤ 在 8080 端口监听。

对于生产环境中重要的应用都建议配置 Health Check,保证处理客户请求的容器都是准备就绪的 Service backend。

以上是 Health Check 在 Scale Up 中的应用,下一节我们讨论在 Rolling Update 中如果应用。

书籍:

1.《每天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html

2.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

3.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Makefile文件

Makefile文件 安装gcc,g,make 输入一行命令就OK sudo apt install build-essential例子 不使用makefile时 精简版

银行错误将10万打给自己,客户有责任退还,银行难道没责任吗?

我们都知道,如果银行多转钱或错转钱给客户,银行肯定会要求客户把钱全额退还,如果客户拒绝不退还的,银行会以不当得利将客户告上法院,搞不好客户还要坐牢。下面给大家举个案例。赵阳是新疆乌鲁木齐市米东区某村的村民&a…

如果央行加息,以前办的房贷利息也会涨吗?

肯定会涨,但具体什么时候涨以银行跟你签订合同时为准。一般央行加息之后银行会有三种处理方式:第一种:约定调整利息所谓约定调整利息是购房者跟银行在签订合同的时候约定好,如果遇到央行加息,会根据合同约定的方式对利…

MATLAB代码转到FPGA代码

MATLAB代码转到FPGA代码 首先需要编写好MATLAB文件。 MATLAB文件包含一个功能实现文件和测试文件。对应FPGA中的功能文件和测试文件。 然后选择APP中的HDL Coder代码 然后取个模块名 然后,将功能文件和测试文件添加到相应位置。 添加完文件之后,需要设置输入的数据类型…

第一次申请信用卡额度太低,怎么办?

最近,我的朋友小麦因为谈恋爱了,开销大,又不想问家里要钱,于是听从了我的建议去银行办了一张信用卡。他是一个很保守的人,不跟随潮流,工作都有5年了,才办人生中的第一张信用卡。卡已经下来&…

办大额信用卡致胜一招

众所周知,银行信用卡的额度取决于申请人和该银行存在多少的利益关系,但是,要在毫无交易关系的银行,办理大额的信用卡,就没办法了呢?其实,信用卡除了网上申请、网点申请等几种常见的方式之外&…

硬件调试-ILA

硬件调试-ILA 先检查时钟和复位。时钟的频率是否正确?是否连接到子模块中(中间是否有拼错的地方)?复位的初始化是否有问题?是否是一直为高?添加ILA

在 Rolling Update 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(146)

上一节讨论了 Health Check 在 Scale Up 中的应用,Health Check 另一个重要的应用场景是 Rolling Update。试想一下下面的情况: 现有一个正常运行的多副本应用,接下来对应用进行更新(比如使用更高版本的 image)&#x…

dcase_util教程

关于音频场景识别的一个基于python的程序合集dcase_util,是英文的,所以在此将其翻译成了中文,以便查阅。 dcase_util文档描述了为声场景和事件检测和分类(DCASE)创建的实用程序集合。这些实用程序最初是为DCASE挑战基线…

编写vivado的仿真代码

编写vivado的仿真代码 仿真步骤 先点击+号图标,选择add or create simulation sources。

美国加息全球死伤一大片,它到底加了什么?

对于美国加息,以及说是美联储加息,不如说是美元霸权地位的加息。3月21日,美国联邦储备委员会在结束货币政策例会后宣布,将联邦基金目标利率区间上调25个基点,至1.50%~1.75%的水平。那为什么美国加息之后,全…

vivado使用

vivado使用 vivado的开发流程

老干妈如今做到这么大,为什么她就是没遇到竞敌?

国民女神老干妈之所以长盛不衰,碾压各种竞争对手,我觉得主要原因是独家秘方渠道优势品牌优势现金为王独特的人格魅力。一、独家秘方吃过老干妈的都会对其独特的味道情有独钟,而这种独特的味道肯定是老干妈有独家秘方,老干妈使用的…

蚂蚁花呗被盗刷怎么办?

如果你的蚂蚁花呗被盗刷了,用马云的话说,那你就发了!那如果支付宝账户或者是花呗不小心被盗刷了,该怎么办呢?第一步、修改登录密码和支付密码。为了防止损失进一步扩大,在得知花呗被盗刷后,马上…

逾期了,如何消除不良记录?

前几天有个哥们在他行申请贷款被拒了,原因就是因为信用卡偶尔逾期。他特地找我出来诉苦并且讨教,有没有什么方法消除不良记录。我想,很多有着不良记录的人都需要,那我就不吝啬,大方的分享如何消除逾期记录吧。消除渠道…

dcase_util教程(二)——各单元介绍

接着上一篇教程,继续的有各个UTILITIES的介绍。网址 1. Container数据容器的类。这些数据的目的是为了包装数据,使用有用的方法来访问和操作数据,以及加载和存储数据。 这些容器是从标准的Python容器(例如对象,列表和字…

FIFO的控制模块

FIFO的控制模块 模块功能:当 FIFO 为空时,向 FIFO 中写入数据,写入的数据量和 FIFO 深度一致,即 FIFO 被写满;然后从 FIFO 中读出数据,直到 FIFO 被读空为止。 设计框图 第一步生成FIFO的IP核。 FIFO写模块 `timescale 1ns / 1ps module fifo_wr(input clk,//

DNN、CNN、RNN、LSTM的区别

昨天听室友问起DNN与CNN的区别,感觉自己不太了解,所在在网上搜了一些资料,这篇博客主要是根据知乎上的回答,加上自己的理解整理出来的。 广义上来说,NN(或是DNN)确实可以认为包含了CNN、RNN这些…

创建QT工程

创建QT工程 Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图…

职业相关课程学习笔记

记学校就业指导课程,主要记录上课中提到的一些核心知识,在此留下学习的痕迹。 职业生涯规划课程笔记名人名言 《礼记大学》:“修身 齐家 治国 平天下”——善待自己,善待家人,善待他人。孟子:“生于忧患&am…