K8S探针分享

一,探针介绍

1 探针类型

livenessProbe:存活探针,用于判断容器是不是健康;如果探测失败,Kubernetes就会重启容器。

readinessProbe:就绪探针,用于判断是否可以将容器加入到Service负载均衡池中,对外提供服务。

startupProbe:启动探针,判断容器内的应用程序是否已启动。

区别:如果提供了启动探测,其他两个探针将会被暂时禁用,直到满足配置,启动探针满足一次探测后,后续不再进行探测。

使用场景:启动探针使用避免容器重启陷入死循环

上图中的配置如果容器启动时间超过20s,就会启动重启策略。如果调高失败次数,服务挂了以后不能及时重启服务。

2 配置参数

initialDelaySeconds

探针初始等待时间,默认是 0 秒

periodSeconds

探测的时间间隔。默认是 10 秒。

timeoutSeconds

探测的超时时间。默认值是 1 秒。

successThreshold

探测的成功数。默认值是 1。

failureThreshold

探测的失败数。默认值是3。

3 探针方式

httpGet

请求接口,类似于curl -I HTTP://podIP:8080/health/liveness接口,返回数值在>=200且<=400代表成功

tcpSocket

连接容器的 80 端口,类似于telnet 80端口

exec

执行 shell 命令

tcpSocket方式:

httpGet方式:

exec方式:

二,spring-boot-starter-actuator

1 K8s探针和spring-boot-starter-actuator联系

2 使用配置

引入依赖:

开启配置:

3 应用测试

存活探针接口:

就绪探针接口:

4 原理分析

健康指标:

org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration

org.springframework.boot.actuate.jdbc.DataSourceHealthIndicator#doDataSourceHealthCheck

org.springframework.boot.actuate.redis.RedisHealthIndicator

5 自定义健康指标

实现healthIndicator接口:

状态映射:

参考来源:Spring Boot Actuator: Production-ready Features

https://spring.io/blog/2020/03/25/liveness-and-readiness-probes-with-spring-boot

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Addison_Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值