gpt4 book ai didi

kubernetes - Kubernetes active 探测是否与您的应用程序并行运行?

转载 作者:行者123 更新时间:2023-12-04 15:13:19 24 4
gpt4 key购买 nike

我有一个在 Kubernetes 上运行的 pod,我正在为其设计一个 active 探测器。我的应用程序从队列中读取(通过一个不断搜索新消息并在找到新消息时执行其他功能的循环)并且不通过 HTTP 公开,因此我需要一个命令 liveness 探测器。我在考虑一个简单的实现是否可行:

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

但是,我不确定 cat 是否会成功,即使应用程序在循环中的某个点“卡住”——文件仍然存在。这归结为对我无法在文档中找到的 active 探测的基本缺乏理解——大概它们以某种方式与您的应用程序串联运行,因此如果您的应用程序未运行,则无法执行命令?但我对这一点没有信心。

如果该命令可以并行执行,那么我相信我将需要某种时间戳检查,我会在每个循环中更新一个文件,而 active 探测器会检查其时间戳。如果第一种方法有效,它会更简单,但任何人都可以确认是否是这种情况?谢谢。

编辑:我的应用程序代码。我添加了 sleep(60)s 来尝试测试如果文件在一分钟内没有更新,事件探测是否会失败,但它们不会成为正常应用程序代码的一部分。

INITIALISATION CODE

with open('loaded.txt','w') as f: # readiness probe = check this file exists
f.write('loaded')

current_backoff = 0
max_backoff = 10
while True:
if current_backoff < max_backoff:
current_backoff +=1
with open('loaded.txt','w') as f:
f.write('loaded')
sleep(60)

messages = input_queue_client.receive_messages(visibility_timeout=100)
for message in messages:
with open('loaded.txt','w') as f:
f.write('loaded')
sleep(60)
current_backoff = 0

CODE TO PROCESS MESSAGES

sleep(current_backoff)

我的 active 探测尝试:

1.

        livenessProbe:
exec:
command:
- find
- /var/app/loaded.txt
- -mmin
- '+0.1'
initialDelaySeconds: 10
periodSeconds: 10
  1. (如果从 find 返回任何内容,则命令返回失败,否则 cat 文件)
        livenessProbe:
exec:
command:
- find
- /var/app/loaded.txt
- -mmin
- '+0.1'
- -exec
- cat
- '/var/app/loaded.txt{}'
- ;
initialDelaySeconds: 10
periodSeconds: 10
  1. (如果从查找中返回任何内容,则命令返回失败,否则不返回任何内容)
        livenessProbe:
exec:
command:
- find
- /var/app/loaded.txt
- -mmin
- '+0.1'
- -exec
- if[[{}]]
- ;
initialDelaySeconds: 10
periodSeconds: 10

我也用 - 而不是 + 尝试了所有这些。尽管窗口非常短(最终会更长!)和 sleep 命令,但探测永远不会失败。

最佳答案

kubelet 完成的 active 探测在每个节点中。是的,它与您的应用程序并行运行。

在你的例子中,你可以在每次循环开始新的迭代时触摸 /tmp/healthy 文件。并在运行状况检查中使用类似 find/tmp/health -mmin +0.5 的命令。如果文件早于半分钟,此命令不返回任何内容。如果运行状况检查命令未返回任何内容,则认为检查通过。

关于kubernetes - Kubernetes active 探测是否与您的应用程序并行运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64785547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com