[英]How to setup Liveness in the Kubernetes
我是Kubernetes的新手。 我想为我的EKS kubernetest集群设置活动性。 我浏览了下面的文档https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/我没有几个问题可以设置以上内容
kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml -n kube-system
这些整体如何运作? 我到目前为止所了解的是
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.