健康检查机制

1.探针的种类

livenessProbe: 健康状态检查,周期性检查服务是否存活,检查结果失败,将重启容器。

readinessProbe: 可用性检查,周期性检查服务是否可以,不可用将从service的endpoints中移除。

2.探针的检测方法:

  • exec : 执行一段命令,返回值为0 或非 0
  • httpGet: 检测某个http请求返回的状态码2xx 3xx正常,4xx,5xx错误
  • tcpSocket: 测试某个端口是否能够连接

3.1 liveness探针的exec使用

vi  nginx_pod_exec.yaml
apiVersion: v1
kind: Pod
metadata:
  name: exec
spec:
  containers:
    - name: nginx
      image: 10.0.0.11:5000/nginx:1.13
      ports:
        - containerPort: 80
      args:
        - /bin/sh
        - -c
        - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
      livenessProbe:
        exec:
          command:
            - cat
            - /tmp/healthy
        initialDelaySeconds: 5       #初始化检查,第一次检查在容器起来之后的第几秒
        periodSeconds: 5            #多长时间检查一次
        timeoutSeconds: 5            #超时时间
        successThreshold: 1            #成功几次代表是健康的
        failureThreshold: 1            #失败几次

3.2 liveness探针的httpGet使用

```vi nginx_pod_httpGet.yaml
apiVersion: v1
kind: Pod
metadata:
name: httpget
spec:
containers:
- name: nginx
image: 10.0.0.11:5000/nginx:1.13
ports:
- containerPort: 80
livenessProbe:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 3
periodSeconds: 3

###    3.3 liceness探针的tcpSocket使用

vi nginx_pod_tcpSocket.yaml
apiVersion: v1
kind: Pod
metadata:
name: tcpSocket
spec:
containers:
- name: nginx
image: 10.0.0.11:5000/nginx:1.13
ports:
- containerPort: 80
args:
- /bin/sh
- -c
- tail -f /etc/hosts
livenessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 10
periodSeconds: 3

###    4.1readiness 探针的httpGet使用

vi nginx-rc-httpGet.yaml
iapiVersion: v1
kind: ReplicationController
metadata:
name: readiness
spec:
replicas: 2
selector:
app: readiness
template:
metadata:
labels:
app: readiness
spec:
containers:
- name: readiness
image: 10.0.0.11:5000/nginx:1.13
ports:
- containerPort: 80
readinessProbe:
httpGet:
path: /qiangge.html
port: 80
initialDelaySeconds: 3
periodSeconds: 3
```

原文地址:https://www.cnblogs.com/yangxiaoni/p/12024912.html

时间: 2024-10-07 15:52:49

健康检查机制的相关文章

Knative Serving 健康检查机制分析

作者|??阿里云智能事业群技术专家牛秋霖(冬岛) 导读:从头开发一个 Serverss 引擎并不是一件容易的事情,今天咱们就从 Knative 的健康检查说起.通过健康检查这一个点来看看 Serverless 模式和传统的模式都有哪些不同,以及 Knative 针对 Serverless 场景都做了什么思考. Knative Serving 模块的核心原理如下图所示,图中的 Route 可以理解成是 Istio Gateway 的角色. 当缩容到零时进来的流量就会指到 Activator 上面:

9-lvs-lvs集群-及keepalived健康检查

注意: 配置前需要将上一篇的配置都清除掉 ifconfig eth1:1 down service ipvsadm restart nginx作为请求分发服务器时, 有健康检查机制, 挂了的服务器不会在分发请求 但lvs没有, 需要keepalived进行健康检查, 否则仍然将请求分发过去, 造成无法访问 安装keepalived高可用的lvs集群 1, 安装 ipvsadm 上篇讲过, 不说, 安装好就可以, 不需要配置 2, 安装keepalived 上上篇讲过,,, yum 安装 3, 配

有容云AppSoar容器健康检查与调度策略

近两年来,微服务架构和基于容器的虚拟化技术以迅雷不及掩耳之势席卷了整个软件开发社区,微服务与Docker的结合更被视为一种"颠覆".在与容器结合使用后,微服务架构的优点得到了进一步的放大:微服务鼓励软件开发者将整个软件解耦为较小的功能模块,并且这些功能能够应对外界的故障:而容器进一步对这种解耦性进行了扩展,它能够将软件从底层的硬件中分离出来. 这种方式所产生的结果是:应用程序能够更快地进行创建,并且更易于维护,同时又能够得到更高的质量,从而促使越来越多的产业应用容器化.如eBay.Am

k8s的Health Check(健康检查)

强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署. 避免部署无效的镜像. 更加安全的滚动升级. 下面通过实践学习 Kubernetes 的 Health Check 功能. 1.默认的健康检查 我们首先学习 Kubernetes 默认的健康检查机制: 每个容器启动时都会执行一个进程,此进程由 Docke

负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息?

负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息? 原文: https://help.aliyun.com/document_detail/127193.html?spm=a2c4g.11186623.6.606.5b7a7ee5RD6Xai 问题现象: 负载均衡后端配置TCP服务端口后,后端业务日志中频繁出现类似如下网络连接异常错误信息.经进抓包分析,发现相关请求来自负载均衡服务器,同时负载均衡主动向服务器发送了RST数据包. 问题原因: 该问题和负载均衡的健康检

健康检查概述

负载均衡通过健康检查来判断后端服务器(ECS实例)的业务可用性.健康检查机制提高了前端业务整体可用性,避免了后端ECS异常对总体服务的影响. 开启健康检查功能后,当后端某台ECS健康检查出现异常时,负载均衡会自动将新的请求分发到其它健康检查正常的ECS上:而当该ECS恢复正常运行时,负载均衡会将其自动恢复到负载均衡服务中. 如果您的业务对负载敏感性高,高频率的健康检查探测可能会对正常业务访问造成影响.您可以结合业务情况,通过降低健康检查频率.增大健康检查间隔.七层检查修改为四层检查等方式,来降低

k8s之健康检查(Health Check)

强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署. 避免部署无效的镜像. 更加安全的滚动升级. 下面通过实践学习 Kubernetes 的 Health Check 功能. 默认的健康检查 首先学习 Kubernetes 默认的健康检查机制: 每个容器启动时都会执行一个进程,此进程由 Dockerfil

pod健康检查详解(liveness,readiness,滚动更新)

环境介绍 主机 IP地址 服务 master 192.168.1.21 k8s+httpd+nginx node01 192.168.1.22 k8s node02 192.168.1.23 k8s 基于[ https://blog.51cto.com/14320361/2464655]() 的实验继续进行 一.Pod的liveness和readiness探针 Kubelet使用liveness probe(存活探针)来确定何时重启容器.例如,当应用程序处于运行状态但无法做进一步操作,liven

[转]Eureka自我保护机制、健康检查的作用、actuator模块监控

Eureka自我保护机制 接着以上篇文章建立的三个工程为基础(eureka-server,uerreg,myweb),默认Eureka是开启自我保护的.我们来做个测试,我们先启动三个工程,我们访问注册中心http://localhost:8761/, image.png 可以看到,实例是成功注册到中心的.此时我们将uerreg服务关闭,刷新注册中心,我们会发现如下界面 image.png 我们除了看到了一行红色的警告信息,还发现了一件神奇的事情,就是我们的服务实例虽然被kill了,但是在服务注册