首页 > 其他分享 >在k8S中,Pod中的LivenessProbe探针常见方式有哪些?

在k8S中,Pod中的LivenessProbe探针常见方式有哪些?

时间:2024-02-08 09:02:09浏览次数:25  
标签:容器 LivenessProbe Kubernetes 探针 livenessProbe Pod k8S

在 Kubernetes (k8s) 中,Pod 的 LivenessProbe 探针常见的方式有以下三种:

  1. Exec:

    • 通过在容器内部执行一个命令来检查应用是否正常运行。如果命令的退出状态码为0,则认为应用程序是健康的;非0状态码则视为不健康。例如:

      livenessProbe:
        exec:
          command:
            - cat
            - /tmp/healthy
      

      在这个例子中,Kubernetes 将会在指定的时间间隔内执行 cat /tmp/healthy 命令,如果该文件存在且能成功读取(即命令返回0),则认为容器是健康的。

  2. HTTPGet:

    • 向容器暴露的一个HTTP端点发送GET请求,根据响应的状态码判断容器的健康状况。例如:

      livenessProbe:
        httpGet:
          path: /healthz
          port: 8080
          httpHeaders:
          - name: Custom-Header
            value: AwesomeValue
      

      此探针会定期访问容器在8080端口上的 /healthz 路径,并期望收到成功的HTTP状态码(通常为200)。

  3. TCPSocket:

    • 直接尝试连接到容器监听的特定TCP端口,如果能够建立连接,则表明容器服务处于活动状态。例如:

      livenessProbe:
        tcpSocket:
          port: 9000
      

      这个探针将试图连接到容器的9000端口,如果能够成功建立连接,则认为容器是健康的。

综上所述,除了以上 probe 类型外,LivenessProbe 还可以配置超时时间 (timeoutSeconds)、检查间隔 (periodSeconds) 和连续失败次数阈值 (failureThreshold) 等参数,以便更精细地控制探测行为。当 LivenessProbe 失败超过设定的阈值时,Kubernetes 会重启相应的容器。

标签:容器,LivenessProbe,Kubernetes,探针,livenessProbe,Pod,k8S
From: https://www.cnblogs.com/huangjiabobk/p/18011567

相关文章

  • kubernetes集群核心概念---pod
    1.pod介绍参考链接:https://kubernetes.io/zh/docs/concepts/workloads/pods/1.1.查看pod[root@centos~]#kubectlgetpod#pod或pods都可以,不指定namespace,默认是名为default的namespace [root@centos~]#kubectlgetpod-nkube-system1.2.pod的yaml资源清单格式......
  • 二刷 K8s 源码 - workqueue 的所有细节
    1.概述-何来此文2.Queue的实现2.1Queue.Add(iteminterface{})方法2.2Queue.Get()方法2.3Queue.Done(iteminterface{})方法3.DelayingQueue的实现4.RateLimitingQueue的实现5.rateLimiter限速器的实现6.控制器里用的默认限速器7.总结1.概述-......
  • Docker-compose至K8S迁移工具kompose
    参考Github:https://github.com/kubernetes/komposekompose工具用于将docker-compose配置文件转换的k8s可识别的yaml文件安装CentOS安装#yuminstallepel-release#yuminstallkompose使用源安装的版本较老可直接下载#Linuxcurl-Lhttps://github.com/kubernetes/......
  • k8s 怎么手动拉取docker镜像?
    k8s怎么手动拉取docker镜像?在Kubernetes(K8s)中管理和部署应用时,手动拉取Docker镜像是一项基本操作。在Kubernetes中,Pod创建时通常会在其配置文件(Deployment,StatefulSet等)中指定需要使用的Docker镜像。但如果你想先手动将镜像拉取到集群节点上,可以按照以下步骤进行:首先,确保......
  • 在K8S中,kube-proxy 作用是什么?
    在Kubernetes(K8s)中,kube-proxy是一个关键的网络组件,它运行在集群中的每个节点上,负责实现服务发现和负载均衡功能。kube-proxy的主要作用包括:服务代理:kube-proxy将Kubernetes的服务抽象(Service)转换为实际的网络路由规则,使得Pod可以相互通信,并且外部流量可以正确地流入到服务背后......
  • 在K8S中,kube-proxy iptables 原理是什么?
    在Kubernetes(K8s)中,kube-proxy组件使用iptables模式时,其主要原理是利用Linux内核的iptables工具动态管理节点上的网络规则,以实现服务(Service)到后端Pod之间的透明网络代理和负载均衡。以下是kube-proxy在iptables模式下工作的大致步骤:监听APIServer:kube-proxy在每个集群节点上......
  • 在K8S中,kube-proxy ipvs 原理是什么?
    在Kubernetes(K8s)集群中,kube-proxy是一个关键组件,它负责实现从Service到后端Pods的网络代理和负载均衡功能。当kube-proxy工作在IPVS模式时,其原理如下:监听API服务器:kube-proxy启动后会持续监听KubernetesAPI服务器上的Service资源对象的变化。每当有新的Service创建、更......
  • 在K8S中,kube-proxy ipvs 和 iptables 有何异同?
    在Kubernetes(K8s)中,kube-proxy作为集群网络代理组件,可以配置为使用iptables或IPVS模式来实现服务的负载均衡和网络代理功能。下面是kube-proxy在iptables模式和IPVS模式下的异同点:相同点:目标:无论是iptables还是IPVS模式,kube-proxy的目标都是将流入集群的服务请求透明地转发到后......
  • 在K8S中,什么是静态 Pod?
    在Kubernetes(K8s)中,静态Pod是由kubelet直接管理的特殊类型Pod。与通常通过KubernetesAPIServer创建和管理的Pod不同,静态Pod的定义文件直接放置在特定节点上的kubelet配置目录中,而非由APIServer创建和调度。特点:直接由kubelet管理:kubelet会定期检查其配置目录(默认为/etc/kub......
  • 在K8S中,RC的机制是什么?
    在Kubernetes(K8s)中,ReplicationController(RC)是一种工作负载资源对象,它负责确保指定的Pod副本集始终保持预期的数量。其机制如下:定义期望状态:用户通过创建一个ReplicationController资源定义文件来声明他们希望运行的Pod副本数量,同时提供Pod模板,该模板描述了每个副本Pod应有的......