探针是由kubelet对容器执行的定期诊断。要执行诊断,kubelet调用由容器实现的Handler。有三类处理程序:

  1. ExecAction:在容器内执行指定命令。如果命令退出时返回码为0认为诊断成功。
  2. TCPSocketAction:对指定的容器ip:端口号进行TCP检查。如果端口打开则诊断成功。
  3. HTTPGetAction:对指定的容器ip:端口号/路径执行HTTP Get请求。如果状态码大于等于200且小于400,诊断成功。

探测结果:

  • 成功:
  • 失败:
  • 未知:诊断失败,不会采取任何行动

探测种类:

  • livenessProbe:存活检测。探测失败,kubelet会杀死容器,且容器服从其重启策略。不设该字段,默认Success
  • readinessProbe:就绪探测。探测失败,端点控制器将从与pod匹配的所有svc端点中删除pod的ip地址。
  • startupProbe:探测容器内应用是否已启动。如果启用startupProbe,则禁用其他探测,知道它成功为止。探测失败,kubelet将杀死容器,容器服从重启策略

readinessProbe:

apiVersion: v1
kind: Pod
metadata:
name: readiness-httpget-pod
namespace: default
spec:
containers:
- name: readiness-httpget-container
image: nginx
imagePullPolicy: IfNotPresent
readinessProbe:
httpGet:
port: 80
path: /index1.html
initialDelaySecods: 1
periodSeconds: 3

startupProbe:

livenessProbe:
httpGet:
path: /test
port: 80
failureThreshold: 1
initialDelay: 10
periodSeconds: 10 startupProbe:
httpGet:
path: /test
port: 80
failureThreshold: 10
initialDelay: 10
periodSeconds: 10

//只有startupProbe探测成功后才会交给livenessProbe。 startupProbe配置的是10*10s,所以只要应用在100s内启动都是OK的,而应用挂掉10s就会发现问题。

k8s探针的更多相关文章

  1. k8s 探针 exec多个判断条件条件 多个检测条件

    背景 1,之前我们的yaml文件里面有就绪探针. 2,探针是检测一个文件是否生成,生成了说明服务正常. 3,现在要加一个检测,也是一个文件是否存在并且不为空. 4,只有两个条件同时满足了 服务才算正常 ...

  2. K8S探针和SVC,POD原理

    (6)容器是否健康: spec.container.livenessProbe.若不健康,则Pod有可能被重启(可配置策略)   (7)容器是否可用: spec.container.readiness ...

  3. k8s资产清单(二)

    什么是清单 说白了清单是k8s当中用来定义pod的文件,语法格式遵循yaml语法,在yaml当中可以定义控制器类型,元数据,容器端口号等等等....,也可以针对于清单对pod进行删除等操作 为什么太学 ...

  4. Kubernetes 存活、就绪探针

    在设计关键任务.高可用应用程序时,弹性是要考虑的最重要因素之一. 当应用程序可以快速从故障中恢复时,它便具有弹性. 云原生应用程序通常设计为使用微服务架构,其中每个组件都位于容器中.为了确保Kuber ...

  5. Kubernetes探针踩坑记

    1. 荒腔走板 最近一两个月生产K8s集群频繁出现短时503 Service Temporarily Unavailable,还不能主动复现,相当郁闷,压力山大. HTTP 5xx响应状态码用于定义服 ...

  6. K8S环境的Jenkin性能问题处理

    环境信息 在K8S环境通过helm部署了Jenkins(namespace为helm-jenkins),用于日常Java项目构建: kubernetes:1.15 jenkins:2.190.2 he ...

  7. 好未来数据中台 Node.js BFF实践(一):基础篇

    好未来数据中台 Node.js BFF实践系列文章列表: 基础篇 实战篇(TODO) 进阶篇(TODO) 好未来数据中台的Node.js中间层从7月份开始讨论可行性,截止到9月已经支持了4个平台,其中 ...

  8. k8s 存活探针,滚动更新

    文章原文 存活探针 Kubelet使用liveness probe(存活探针)来确定何时重启容器.例如,当应用程序处于运行状态但无法做进一步操作,liveness探针将捕获到deadlock,重启处于 ...

  9. dubbo 协议的 K8s pod 存活探针配置

    背景 某项目采用微服务架构,dubbo 框架,K8s 方式部署. 其中 HTTP 协议由网关应用统一处理,大部分应用仅提供 dubbo 协议. 目标 应用某个实例(pod)状态异常时,尝试自动重启恢复 ...

  10. k8s之资源限制以及探针检查

    k8s之资源限制以及探针检查 一.资源限制 1. 资源限制的使用 当定义Pod时可以选择性地为每个容器设定所需要的资源数量.最常见的可设定资源是CPU和内存大小,以及其他类型的资源. 2. reuqe ...

随机推荐

  1. oracle删除表空间报ORA-22868

    1.删除表空间报ora-22868问题,该表空间包含其他表空间的表的大字段. 思路:要么把字段迁移走,要么把表清理了. 2.处理方法一:将大字段迁移到其他表空间 select 'alter table ...

  2. VUE2.0 脚手架搭建项目,如何配置本地IP地址访问项目,详解

    1.首先找到config文件夹目录下的 index.js文件 // Various Dev Server settings //host: 'localhost' //将localhost进行替换成 ...

  3. E. Permutation Game

    https://codeforces.com/contest/1772/problem/E 题目大意就是给一个1~n的全排序列,所有数字都是红色的,两人轮流操作,操作有三种选择,第一是将所有蓝色的数字 ...

  4. 「SOL」旧试题 (LOJ/SDOI)

    数论+图论,妙不可言 # 题面 给定 \(A,B,C\),求: \[\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C\sigma_0(ijk) \] 数据规模:\(A,B,C\ ...

  5. 数据库tempdb的事物日志已满,原因为“ACTIVE_TRANSACTION”

    系统运行过程中,突然报错数据库tempdb的事物日志已满,原因为"ACTIVE_TRANSACTION".导致所有业务崩溃. 接到报警后,进入数据库服务器.检查硬盘空间正常,于是登 ...

  6. 删除Windows10资源管理器多余的入口

    ///// 删除3D对象 定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\Nam ...

  7. HTML初体验之各种标签练习

    HTML初体验之各种标签练习 首先是<!DOCTYPE>标签 放在网页顶部的doctype声明是让浏览器进入正确呈现模式的关键.浏览器自动切换到恰当的呈现模式,以便正确显示由doctype ...

  8. turtle 画照片

    # -*- coding: utf-8 -*- import turtle as t import cv2 def draw_img(img_path, scale=1): ""& ...

  9. 【逆向】HWP文档 分析调试技巧

    前言 HWP(Hangul Word Processor)文件是韩国主流文字处理软件Hangul Office(한글)专用的文档格式,Hangul 是一款由韩软公司(Hansoft)开发,在韩国人人皆 ...

  10. Servlet执行步骤

    <!-- 1. 用户发请求,action=add 2. 项目中,web.xml中找到url-pattern = /add -> 第12行 3. 找第11行的servlet-name = A ...