无法通过 Kubernetes 上的 AWS ELB 访问 Grafana(for prometheus)



我们有一个由多个节点组成的集群,所以我不能做一个NodePort,而只是去我的node-ip(这是我为测试Prometheus所做的(。 我在"监控"命名空间上做了一个头盔安装稳定/普罗米修斯和稳定/格拉法纳。

到目前为止,一切看起来都很好。

然后,我尝试创建一个 LB 服务来访问 Grafana,该服务被创建,我可以看到 CNAME 指向 AWS 上 ELB 的 A 记录,但是当访问 Grafana 的 URL 时,没有任何反应,没有 HTTP 错误,没有问题页面,什么都没有。

这是service-elb.yaml

apiVersion: v1
kind: Service
metadata:
name: grafana-lb
namespace: monitoring
labels:
app: grafana
annotations:
dns.alpha.kubernetes.io/external: grafana-testing.country.ourdomain 
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:xxxxxx
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: '443'
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '3600'
spec:
selector:
app: grafana
tier: frontend
type: LoadBalancer
ports:
- name: https
port: 443
targetPort: 80
- name: http
port: 80
targetPort: 3000
loadBalancerSourceRanges:
- somerange
- someotherrange
- etc etc 

顺便说一句,如果我不使用 --set rbac.create=false 创建图表,则会出现有关服务帐户的权限错误

我最近为 Kibana 使用了 nginx-proxy-pass,并且还使用了与此类似的 LB 服务,没有问题。但是我在这里错过了一些东西,还找不到它是什么。

任何帮助将不胜感激。如果我让它工作,我会更新。

已解决,必须删除"层"选择器并仅使用如下规范:

spec:
selector:
app: grafana
type: LoadBalancer
ports:
- name: http
port: 3000

最新更新