Kubernetes Liveness和Readiness是否检查python是否正在运行?

问题描述

我有一个简单的问题,但我找不到正确的答案。

我在Kubernetes中有几个Pod在python中运行我的应用程序。我还没有实现活跃度和准备度。当我与负责人交谈时,他告诉我,我必须创建活动性和就绪状态以进行检查,并在必要时重新启动Pod,而且我必须找到一种方法来进行活动性和就绪性检查,以确保python也正在运行,因为它可能会卡住,容器可能会显示一切正常。

我很困惑,因为为了我的活跃和准备就可以做到这一点。我必须使用命令创建它,因为该微服务没有端点或运行状况检查,因为它们只是工作程序。

我该怎么做的任何线索?还是一个很好的答案,可以解释活跃性和准备情况可以检查python是否正在运行。

非常感谢!

解决方法

就绪状态不会重新启动您的Pod,只会使您的工作人员无法通过负载平衡器/服务访问,如果条件失败,Liveness会重新启动。 您无需通过端点运行活动,就可以确保它是可访问的:

        livenessProbe:
          failureThreshold: 3
          initialDelaySeconds: 30
          periodSeconds: 20
          successThreshold: 1
          tcpSocket:
            port: <port-number>
          timeoutSeconds: 5

您可以在正在运行的python worker上公开一个端口,并确保该端口可访问,否则,从逻辑上考虑何时要重新启动Pod? it could get stuck

是什么意思