繁体   English   中英

如何在Kubernetes中设置Liveness

[英]How to setup Liveness in the Kubernetes

我是Kubernetes的新手。 我想为我的EKS kubernetest集群设置活动性。 我浏览了下面的文档https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/我没有几个问题可以设置以上内容

  1. 当我应用liveness-exec时,我需要提及任何特定的名称空间,例如kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml -n kube-system
  2. 我可以直接从k8s.io/example使用yaml文件,还是需要在本地复制
  3. 这些整体如何运作? 我到目前为止所了解的是

    a)部署Pod时,它将创建一个容器并创建/ tmp / healthy文件,然后删除该容器

    b)将在30秒后运行,并从步骤3a重做相同的操作

我按照上述步骤操作,但收到一条错误消息说:cat:

can't open '/tmp/healthy': No such file or directory

这篇文章听起来可能是重复的,但我尝试遍历上一篇文章,但找不到解决方案。 请帮忙

1)当我应用liveness-exec时,我需要提及任何特定的名称空间,例如kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml -n kube-system

如果您在apply命令中指定了名称空间,则将在该名称空间中创建Pod,前提是该名称空间存在。 如果您未指定名称空间(通过命令行或在pod yaml定义中),则将在默认名称空间中创建pod

2)我可以直接从k8s.io/example使用yaml文件,还是需要在本地复制

您可以从k8s.io/example直接应用它。

kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml

3)这些事情如何运作? 我到目前为止所了解的是

a)部署Pod时,它将创建一个容器并创建/ tmp / healthy文件,然后删除该容器

b)将在30秒后运行,并从步骤3a重做相同的操作

我认为示例的想法只是为了展示活动性探针的工作方式,以及在测试失败后如何重新启动Pod,因此执行的命令有些虚假。 我认为您看到的错误只是探针未通过“ cat / tmp / healthy”检查

livenessProbe与结合readynessProbe是,你需要把自己的YAML定义为容器规范,示例文件只是为了举例两个参数。

的一个例子livenessProbe用于grafana服务colud是:

livenessProbe:
  failureThreshold: 10
    httpGet:
      path: /api/health
      port: 3000
      scheme: HTTP
    initialDelaySeconds: 60
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 30

并非所有参数都是必需的,您必须考虑如何为您的服务做得更好。

Kubernetes Rest客户端(kubectl)的“应用”命令可以具有本地文件或远程文件。 活跃度是可用性证明及readness是荚准备的证明。 从吊舱创建livenessProbe时刻运行每5秒按periodSeconds配置时,“RM -rf / tmp目录/健康”的命令运行的睡眠30秒后,所以会有这么一次生命的证明将找不到文件,并会生成警报。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM