Kubernetes是否检查python是否正在运行?
我有一个简单的问题,但我找不到正确的答案 我在kubernetes中用python运行我的应用程序。我还没有实现活跃和准备。当我和我的领导交谈时,他告诉我,我必须创建活动性和就绪性检查,并在必要时重新启动我的pod,我必须找到一种方法来检查python是否也在运行,因为它可能会卡住,容器可以显示一切正常 我感到困惑,因为为了我的活力和准备,我会这样做。我必须使用命令创建它,因为这个微服务没有端点或健康检查,因为它们只是工作人员 我该怎么做有什么线索吗?或者是一个很好的答案,可以解释活动性和就绪性检查python是否正在运行Kubernetes是否检查python是否正在运行?,kubernetes,readinessprobe,livenessprobe,Kubernetes,Readinessprobe,Livenessprobe,我有一个简单的问题,但我找不到正确的答案 我在kubernetes中用python运行我的应用程序。我还没有实现活跃和准备。当我和我的领导交谈时,他告诉我,我必须创建活动性和就绪性检查,并在必要时重新启动我的pod,我必须找到一种方法来检查python是否也在运行,因为它可能会卡住,容器可以显示一切正常 我感到困惑,因为为了我的活力和准备,我会这样做。我必须使用命令创建它,因为这个微服务没有端点或健康检查,因为它们只是工作人员 我该怎么做有什么线索吗?或者是一个很好的答案,可以解释活动性和就绪性
非常感谢 准备就绪不会重新启动pod,它只会使您的工作人员无法通过负载平衡器/服务访问,如果条件失败,Liveness将重新启动。 您不需要通过端点运行活动性,您可以确保它是可访问的:
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 20
successThreshold: 1
tcpSocket:
port: <port-number>
timeoutSeconds: 5
livenessProbe:
故障保持:3
初始延迟秒数:30
秒:20
成功阈值:1
tcpSocket:
端口:
timeoutSeconds:5
您可以在运行的python worker上公开一个端口,只需确保它是可访问的,否则,请从逻辑上考虑何时重新启动pod?你所说的“python也在运行,因为它可能会卡住,容器可以显示一切正常”是什么意思?关于就绪性和活跃性,k8s有很好的例子说明如何配置它。我的意思是,活跃性是检查pod是否正在运行,还是检查python是否也在运行?我的领导告诉我,在某些情况下,python可能会被卡住,pod可能运行良好,而liveness不会知道python是否正在运行。这是可能的还是liveness会检查python和我的pod?我的意思是liveness和重启pod是否会卡住,对吗?我的领导告诉我,在容器中运行的python可能会被卡住,也许pod仍然可以显示出活力,一切正常。然后,您需要添加自己的逻辑工具来检测“python何时被卡住”,例如:livenessProbe可以是除
tcpSocket
之外的其他内容,例如,它可以是对服务中的某个端点的http请求,您可以在该端点中指定所需的逻辑,例如:检查您是否可以连接到DB,否则将失败。Http:您也可以在那里找到exec命令
。太棒了!谢谢你!