健康检查


    Rancher利用了不同网络位置的主机进行健康检查,这种方式比基于客户端的健康检查更高效。利用HAProxy来进行健康检查,Rancher使用户可以在服务和负载均衡上使用相同的健康检查策略。

    可以通过如下选项来配置健康检查:

    检查类型: 有两种检查方式 - TCP连接 (只验证端口是否打开) 以及 HTTP响应2xx/3xx (进行HTTP请求并确保收到正确的回复)。

    HTTP 请求: 如果检查类型是 HTTP响应2xx/3xx, 您必须制定一个可以接受查询的URL。 您可以选择方法 (GET, , etc) 以及HTTP版本 (HTTP/1.0, HTTP/1.1).

    初始化超时: 在退出初始化之前等待的毫秒数。

    重新初始化超时: 在退出重新初始化之前等待的毫秒数。

    检查间隔: 在每次检查之间的时间间隔(毫秒)。

    检查超时: 在检查未得到回复并超时之前等待的毫秒数。

    健康阈值: 在一个不健康容器被标记为健康之前需要收到的健康检查回复的次数。

    不健康阈值: 在健康容器被标记为不健康之前需要收到的健康检查回复的次数。

    对于服务或,可以通过导航到Health Check选项卡来添加Health check服务。您可以检查服务的TCP连接或HTTP响应,并更改health check配置的默认值。

    使用Rancher Compose,health checks能添加在rancher-compose.yml文件中。

    在我们的示例中,如果容器发现不健康,我们会显示三种不同策略的健康检查配置。

    根据health check的结果容器会被标记成绿色或红色状态,根据健康检查的结果,会判断容器是处于绿色或红色状态。如果运行该服务的所有容器处于绿色状态,该服务就处于绿色(或“运行”)的状态。如果运行该服务所有容器都处于红色状态,则服务处于红色(或“停止”)状态。如果Rancher检测到至少一个容器是处于红色状态或正在要变为绿色状态,该服务会处于黄色(或“退化”)的状态。

    检测故障所用的时间是通过“间隔”值进行控制的,该值是通过compose或UI创建健康检查时定义的。