Kubernetes nginx入口间歇性故障

Kubernetes nginx入口间歇性故障,kubernetes,kubernetes-helm,nginx-ingress,Kubernetes,Kubernetes Helm,Nginx Ingress,nginx入口间歇性故障 NGINX入口控制器版本:0.22.0 图像:码头io/kubernetes入口控制器/nginx入口控制器:0.22.0 图像ID:docker-pullable://quay.io/kubernetes-ingress-controller/nginx-ingress-controller@sha256:47ef793dc8dfcbf73c9dee4abfb87afa3aa8554c35461635f6539c6cc5073b2c quay.io/kubernet

nginx入口间歇性故障


NGINX入口控制器版本:0.22.0

图像:码头io/kubernetes入口控制器/nginx入口控制器:0.22.0

图像ID:docker-pullable://quay.io/kubernetes-ingress-controller/nginx-ingress-controller@sha256:47ef793dc8dfcbf73c9dee4abfb87afa3aa8554c35461635f6539c6cc5073b2c

quay.io/kubernetes-ingres-controller/nginx-ingres-controller

Kubernetes版本(使用kubectl版本):v1.15.3


环境:

云提供商或硬件配置:Vcenter中的虚拟机

OS(例如从/etc/OS发布):VERSION=“16.04.6 LTS(Xenial Xerus)”

内核(例如uname-a):Linux-appsec-ana01 4.4.0-143-generic\169 Ubuntu SMP-Thu Feb 7:07:56:38 UTC 2019 x86\u 64 x86\u 64 GNU/Linux

安装工具:

其他:

发生的情况:我的nginx入口控制器出现故障,重新启动不一致

您预期会发生什么:不会重新启动

如何复制它(尽可能少且精确):应该出现相同的版本问题

curl -I http://10.244.10.48:10254/healthz
HTTP/1.1 200 OK
Date: Wed, 11 Sep 2019 11:15:56 GMT
Content-Length: 2
Content-Type: text/plain; charset=utf-8
我们还需要知道什么:

kubectl获得以下事件结果

2m Warning Unhealthy pod/nginx-ingress-controller-7cfb747d6c-4n4nz Liveness probe failed: Get http://10.244.10.48:10254/healthz: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
30s Warning Unhealthy pod/nginx-ingress-controller-7cfb747d6c-4n4nz Liveness probe failed: Get http://10.244.10.48:10254/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
6m5s Warning Unhealthy pod/nginx-ingress-controller-7cfb747d6c-4n4nz Readiness probe failed: Get http://10.244.10.48:10254/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
35m Warning Unhealthy pod/nginx-ingress-controller-7cfb747d6c-4n4nz Readiness probe failed: Get http://10.244.10.48:10254/healthz: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

curl -I http://10.244.10.48:10254/healthz
HTTP/1.1 200 OK
Date: Wed, 11 Sep 2019 11:15:56 GMT
Content-Length: 2
Content-Type: text/plain; charset=utf-8

日志中的错误清楚地说明了特定
nginx入口控制器*
Pod的健康检查问题。由于就绪性和活跃性完全由节点代理管理,因此我会仔细检查
kubelet
服务,以获取任何相关错误或可疑事件:

$sudo systemctl status kubelet-l

$sudo journalctl-u kubelet

因此,尽管您成功地测试了针对
/health
端点的
curl
请求,但从
kubelet
节点到K8s API服务器的连接可能会出现问题

同时,您可以检查控制器Pod中的日志并检查引导事件:

kubectl日志$(kubectl get po-l app=nginx-ingres-o jsonpath='{.items[0].metadata.name}')

我还将检查origin
nginx ingress controller*
Pod所在的K8s容量,并观察集群中分配对象的总体资源利用率


我建议您查看官方的Nginx入口控制器故障排除,以获得更多的调查方法

我想说它不是与Nginx控制器相连,而是与Kubernetes节点相连。你看到这个了吗


这个问题无法阅读。请格式化您的帖子: