问题复现
- 将grafana的svc类型改为NodePort后不能访问;
- 将类型改为LoadBalancer后仍不能访问;
- 将ingress域名配置上仍然无法访问;
- 检查grafana的pod出现如下图所示(Readiness probe failed: Get “http://10.244.40.157:3000/api/health”: dial tcp 10.244.40.157:3000: connect: connection refused):
5. 进入container中进行访问,发现能正常访问。
问题解决
经过反复检查,集群重置,等等一系列尝试后仍无法解决该问题,最后发现在yaml中有网络策略这种东西:
没错。就是这一段:
ingress:
- from:
- podSelector:
matchLabels:
app.kubernetes.io/name: prometheus
我们只需要将from整个删除就可以访问了。简单解释一下,该策略限制了流量只接受来自标签为app.kubernetes.io/name: prometheus的pod。因此我们删掉限制就可以了。很简单吧。