自愈能力是容器的重要特性。自愈的默认方式是自动重启发生故障的容器。

用户还可以通过liveness和readiness探测机制设置更精细的健康检查,进而实现:

1.零停机部署

2.避免部署无效的镜像

3.更加安全的滚动升级

 

 

kubernetes默认的健康检查机制:

每个容器启动时都会执行一个进程,此进程由dockerfile的cmd或entrypoint指定。入伏哦进程退出的时候返回的是非零,则认为容器发生故障,Kubernetes就会根据restartpolicy重启容器

下面模拟一个容器发生故障的场景,POD配置文件如下:

centos7下kubernetes(18。kubernetes-健康检查)

pod的restartpolicy设置为onFailure,默认为Always

sleep 10;exit 1模拟容器启动10秒后发生故障

centos7下kubernetes(18。kubernetes-健康检查)

查看pod的状态

centos7下kubernetes(18。kubernetes-健康检查)

已经重启了4次,这个例子中,容器进程返回值非零,kubernetes则认为容器发生故障,需要重启

相关文章:

  • 2021-12-24
  • 2021-11-13
  • 2021-12-23
  • 2021-09-18
  • 2021-08-07
  • 2021-05-21
  • 2021-06-03
  • 2021-12-24
猜你喜欢
  • 2022-02-17
  • 2022-01-18
  • 2021-11-18
  • 2021-09-20
  • 2021-06-22
  • 2021-10-10
相关资源
相似解决方案