Kubernetes 如何将http响应连接到就绪性和活动性探测

Kubernetes 如何将http响应连接到就绪性和活动性探测,kubernetes,readinessprobe,Kubernetes,Readinessprobe,当端点在/health端点上返回HTTP 500时,我尝试重新启动pod。服务probe pod在出现故障时不应向pod发送流量 应用程序需要有一个端点/起点,它将指示是否可以通过返回HTTP 200来接受流量。如果端点返回HTTP 500,则应用程序尚未完成初始化 应用程序需要有另一个端点/运行状况,该端点/运行状况将通过返回HTTP 200指示应用程序是否仍按预期工作。如果端点返回HTTP 500,则应用程序不再响应。 探头应使用端口8080 我知道准备度和活跃度探测器是如何工作的,但如何连

当端点在/health端点上返回HTTP 500时,我尝试重新启动pod。服务probe pod在出现故障时不应向pod发送流量

应用程序需要有一个端点/起点,它将指示是否可以通过返回HTTP 200来接受流量。如果端点返回HTTP 500,则应用程序尚未完成初始化 应用程序需要有另一个端点/运行状况,该端点/运行状况将通过返回HTTP 200指示应用程序是否仍按预期工作。如果端点返回HTTP 500,则应用程序不再响应。 探头应使用端口8080
我知道准备度和活跃度探测器是如何工作的,但如何连接它们的输出响应基础?我无法解决第一项和第二项。我如何测试解决方案?有人能帮我吗?

我想你可以选择下面的方式,为了清楚起见,也可以参考这个

 livenessProbe:
      httpGet:
        path: /health
        port: 8080
      initialDelaySeconds: as-required-by-you
    
 readinessProbe:
      httpGet:
        path: /start
        port: 8080

我猜你可以选择下面的方式,为了清楚起见,也可以参考这个

 livenessProbe:
      httpGet:
        path: /health
        port: 8080
      initialDelaySeconds: as-required-by-you
    
 readinessProbe:
      httpGet:
        path: /start
        port: 8080
当端点在/health端点上返回HTTP 500时,我尝试重新启动pod。服务probe pod在出现故障时不应向pod发送流量

这是Kubernetes中带有就绪探测的默认行为。如果探测失败,则pod未“准备就绪”,并且没有服务将流量转发到该pod。通过该选项,您可以通过一些性能惩罚影响来控制此选项的响应性。例如,您可以将其设置为1秒,以确保一旦探测失败,就会将其从流量池中取出

在准备就绪、活跃性和启动探测方面,他们有一个机制。他们认为所有的状态代码都是通过的,而其他的都是失败的,但是它们不允许你控制哪些状态代码是“成功的”,哪些是“失败的”。 如果希望对状态代码进行更多控制,可以使用该机制,只需使用如下脚本:

CODE=`curl-s-o/dev/null-w'{http_CODE}http://www.example.org/`; 如果[$CODE-ge 200]&&[$CODE-le 399];然后退出0;否则退出1;fi 在上述情况下,必须确保容器中安装了curl

当端点在/health端点上返回HTTP 500时,我尝试重新启动pod。服务probe pod在出现故障时不应向pod发送流量

这是Kubernetes中带有就绪探测的默认行为。如果探测失败,则pod未“准备就绪”,并且没有服务将流量转发到该pod。通过该选项,您可以通过一些性能惩罚影响来控制此选项的响应性。例如,您可以将其设置为1秒,以确保一旦探测失败,就会将其从流量池中取出

在准备就绪、活跃性和启动探测方面,他们有一个机制。他们认为所有的状态代码都是通过的,而其他的都是失败的,但是它们不允许你控制哪些状态代码是“成功的”,哪些是“失败的”。 如果希望对状态代码进行更多控制,可以使用该机制,只需使用如下脚本:

CODE=`curl-s-o/dev/null-w'{http_CODE}http://www.example.org/`; 如果[$CODE-ge 200]&&[$CODE-le 399];然后退出0;否则退出1;fi 在上述情况下,必须确保容器中安装了curl