我已经在Kubernetes上设置了一个Node应用程序,并设置了一个Ingress。结果,我的节点服务器不断地受到健康检查的轰炸。

我不确定这些持续的健康检查是好事还是坏事。它们是否会影响服务器(例如,使其变慢,或使其持续忙碌)?这也可能导致我的应用程序的CPU使用率增加?
这里的最佳实践是什么?
我这样设置我的Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kubernetes-ingress
# kubernetes-ingress is the name of static ip we've reserved in Google Cloud
annotations:
kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress"
spec:
# spec:
tls:
- hosts:
- app.com
secretName: ingress-ssl
backend:
serviceName: web
servicePort: 3000发布于 2018-08-01 17:52:45
运行状况检查是Kubernetes的一项基本功能,这意味着您可以正常工作。我在你的入口中没有看到任何问题。
发布于 2018-08-02 18:47:15
Kubernetes探测器可以分为liveness和readiness Health checks。
Readiness probes用于检查Pod内部的应用程序是否准备好为网络流量提供服务。如果应用程序的就绪探测失败,则该Pod将从组成服务的端点中删除。通过使用readiness probe,Kubernetes会等待应用程序完全启动,然后才允许服务向该Pod发送网络流量。
liveness probes的目的是指示您的应用程序已启动并正在运行。如果Kubernetes检测到Pod内的应用程序处于活动状态,则不会有进一步的操作,否则将移除失败的Pod,系统将尝试启动新的Pod。
Kubernetes和readiness探测确实有助于您的Kubernetes集群中应用程序的稳定性,确保网络流量只到达可以为其提供服务的实例,还可以检测Pod中的应用程序崩溃或故障,以便用新的应用程序替换它。
总而言之,正如@Oron Golan提到的那样,Health check是一个原生Kubernetes特性,它不应该降低应用程序的整体性能。
查找有关使用Kubernetes Health checks Here的最佳实践的更多信息。
发布于 2019-10-24 13:38:59
运行状况检查是正常的配置,它可以在分布式设置中确保应用程序的稳定性。如果你收到了太多的请求,有一些方法可以配置Kubernetes必须以多高的频率查询你的服务以检查健康和活动性。您可以根据您的应用程序行为/加载/其他部署配置对其进行调整。
https://stackoverflow.com/questions/51630177
复制相似问题