首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义工人舱的k8s活性探针和可读性探针

如何定义工人舱的k8s活性探针和可读性探针
EN

Stack Overflow用户
提问于 2020-07-03 06:09:27
回答 2查看 1.7K关注 0票数 3

我有一个k8s集群。我们的服务是基于队列的。我们的pod订阅一个事件队列,获取事件并执行任务。那么对于这种服务,如何定义k8s活性探针和就绪探针呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-03 06:49:50

假设您的问题是因为处理工作人员正在使用队列消息,它不会公开任何要检查的端口。

在这种情况下,您可以定义livenessProbereadinessProbe自定义命令,下面是来自文献网的示例

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness
  name: liveness-exec
spec:
  containers:
  - name: liveness
    image: k8s.gcr.io/busybox
    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
    readinessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5

此外,请记住,您的流程需要多少时间才能正常运行,并准备好调整initialDelaySecondsperiodSeconds,使其在完全失去活力之前不杀死吊舱。

票数 3
EN

Stack Overflow用户

发布于 2020-07-03 06:31:09

以下是对这些探测的非常简单的介绍:

活泼探测是为了让库伯内特斯知道一个工作负载是否正常。它可以是在容器中执行的shell命令,也可以是一个简单的tcp/http请求,它应该积极响应。

如果在pod配置中指定的超时期间后,活力检查失败,Kubrenetes将重新启动工作负载。

因此,如果您的工作负载正在进行耗时的过程,您可能需要给您的生动活泼探测足够的时间,以确保您的吊舱不会被不小心地重新启动。

红色探测是由Kubernetes代理来决定您的工作负载是否可以使用流量。只有当红色探测器积极响应时,交通才会被发送到你的舱内。因此,如果您的工作负载需要更多的时间来处理单个请求,并且需要将其他请求转移到其他副本进行快速处理,那么您可能需要给工作负载一个稍高的红度间隔。

这些探测参数,再加上副本的数量,可以确保应用程序的快速和健康运行。了解每个探针覆盖的面积以及你可以根据它们进行调整的参数是非常重要的。

以下是一些内容:

https://blog.colinbreck.com/kubernetes-liveness-and-readiness-probes-how-to-avoid-shooting-yourself-in-the-foot/

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62709441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档