Helm-通过Nginx Ingress访问Grafana



我使用Helm部署了Grafana,配置文件中有以下内容(仅显示相关部分(:

ingress:
enabled: true
annotations:
ingress.kubernetes.io/rewrite-target: /grafana
kubernetes.io/ingress.class: nginx-internal

然后我使用Helm部署了一个Nginx入口,配置如下:

controller:
config:
ssl-redirect: "false"
ingressClass: nginx-internal
service:
type: NodePort
nodePorts:
http: 30080
https: 30443

以下是Ingress的描述:

Name:             mottled-magpie-grafana
Namespace:        kube-system
Address:
Default backend:  default-http-backend:80 (<none>)
Rules:
Host                 Path  Backends
----                 ----  --------
chart-example.local
/   mottled-magpie-grafana:80 (10.32.0.93:3000)
Annotations:
ingress.kubernetes.io/rewrite-target:  /grafana
kubernetes.io/ingress.class:           nginx-internal
Events:
Type    Reason  Age   From                      Message
----    ------  ----  ----                      -------
Normal  CREATE  1h    nginx-ingress-controller  Ingress kube-system/mottled-magpie-grafana
Normal  CREATE  1h    nginx-ingress-controller  Ingress kube-system/mottled-magpie-grafana
Normal  CREATE  1h    nginx-ingress-controller  Ingress kube-system/mottled-magpie-grafana
Normal  UPDATE  1h    nginx-ingress-controller  Ingress kube-system/mottled-magpie-grafana
Normal  CREATE  53m   nginx-ingress-controller  Ingress kube-system/mottled-magpie-grafana

它安装得很好,但当我尝试curl <hostIp>:30080/grafana时,我无法从主机访问Grafana。

然而,这是有效的:

curl <hostIp>:30080 -H "HOST: chart-example.local"

安装程序正在本地VM上运行。如何从浏览器访问Grafana(无需手动添加Host标头(?

您的入口只为一个主机设置-chart-example.local,它来自该Helm图表的Values.yaml。如果您没有运行其他入口,请将Values.yaml中的chart-example.local替换为"*",这将匹配任何主机。如果你有其他入口,这可能会窃取它们的流量,所以将其设为"localhost"或"127.0.0.1",你就可以连接到这两个入口中的任何一个。

我喜欢做的是创建一个假主机名,比如foo.local,并将其添加到/etc/hosts中,使其成为有效的主机名。

相关内容

  • 没有找到相关文章

最新更新