为 kubernetes 探针提供多个健康检查 URL
Providing multiple health check URLs for kubernetes probes
我正在使用 container Probes 检查 kubernetes pod 中容器内应用程序 运行 的健康状况。现在我的示例 pod 配置看起来像,
"spec":{
"containers":[
{
"image":"tomcat",
"name":"tomcat",
"livenessProbe":{
"httpGet":{
"port": 80
},
"initialDelaySeconds": 15,
"periodSeconds": 10
}
}
]
}
在我的例子中,我需要监控同一个容器的两个端口。 80 和 443。但是我找不到在配置文件中为同一个容器提供两个端口的方法。有其他方法吗?
不可能,请尝试将健康检查封装在您的应用程序中
例如:
http://localhost:80/health_check?full => (proxy to) => http://localhost:443/health_check?full
如果容器上有 curl / wget,您可以 运行 容器执行健康检查,然后执行类似 curl localhost:80 && curl localhost:443
.
的操作
这将是一个非常有用的功能,但现在缺少了。
正如前面提到的其他人一样,您可以使用脚本代替 httpget 进行健康检查,并检查该脚本中的两个 url。
另一种选择是创建一个 sidecar 健康容器来监控主容器的两个 url 并采取行动。
我正在使用 container Probes 检查 kubernetes pod 中容器内应用程序 运行 的健康状况。现在我的示例 pod 配置看起来像,
"spec":{
"containers":[
{
"image":"tomcat",
"name":"tomcat",
"livenessProbe":{
"httpGet":{
"port": 80
},
"initialDelaySeconds": 15,
"periodSeconds": 10
}
}
]
}
在我的例子中,我需要监控同一个容器的两个端口。 80 和 443。但是我找不到在配置文件中为同一个容器提供两个端口的方法。有其他方法吗?
不可能,请尝试将健康检查封装在您的应用程序中
例如: http://localhost:80/health_check?full => (proxy to) => http://localhost:443/health_check?full
如果容器上有 curl / wget,您可以 运行 容器执行健康检查,然后执行类似 curl localhost:80 && curl localhost:443
.
这将是一个非常有用的功能,但现在缺少了。
正如前面提到的其他人一样,您可以使用脚本代替 httpget 进行健康检查,并检查该脚本中的两个 url。
另一种选择是创建一个 sidecar 健康容器来监控主容器的两个 url 并采取行动。