Kubernetes健康检查-存活探针和就绪探针

  sre

6030bee8d593e6962.jpg_fo742.jpg

原文https://blog.51cto.com/kusorz/2069412

        #存活探针
        #当应用程序处于运行状态但无法做进一步操作,liveness探针将捕获到deadlock,重启处于该状态下的容器
        #探针检测命令是在容器中执行 cat /tmp/healthy 命令
        #如果命令执行成功,将返回0,kubelet就会认为该容器是活着的并且很健康。
        #如果返回非0值,kubelet就会杀掉这个容器并重启它。
        livenessProbe:
          httpGet:
            path: /
            port: 80
          #容器启动180s后开始检查
          initialDelaySeconds: 180
          #periodSeconds 规定kubelet要每隔6秒执行一次liveness probe。默认是10秒,最小1秒。
          periodSeconds: 6
          #timeoutSeconds:探测超时时间。默认1秒,最小1秒。
          timeoutSeconds: 5
          #failureThreshold:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3。最小值是1。
          #successThreshold:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1。对于liveness必须是1。最小值是1。
        #就绪探针readinessProbe
        #只有当Pod中的容器都处于就绪状态时kubelet才会认定该Pod处于就绪状态
        #该信号的作用是控制哪些Pod应该作为service的后端
        #如果Pod处于非就绪状态,那么它们将会被从service的load balancer中移除
        readinessProbe:
          httpGet:
            path: /
            port: 80
          initialDelaySeconds: 5
          timeoutSeconds: 1

例如:

...
        livenessProbe:
          tcpSocket:
            port: 9003
          initialDelaySeconds: 180
          periodSeconds: 6
          timeoutSeconds: 1
          failureThreshold: 5
          successThreshold: 1
        readinessProbe:
          tcpSocket:
            port: 9003
          initialDelaySeconds: 10
          periodSeconds: 6
          timeoutSeconds: 1
          failureThreshold: 1
          successThreshold: 2
...

LEAVE A COMMENT

Captcha Code