我正在尝试使用minikube (在Mac,VirtualBox上)设置一个开发环境,并使用自定义的webapp和grafana。我只是不能让nginx入口控制器+ grafana root_url选项一起工作。因为Grafana,nginx和minikube是如此流行的工具,我一定是忽略了一些东西,我完全失去了想法/运气。如果有人能帮我的忙我会非常感激的。我花了很多时间在这件事上。
主机端口32080在Virtualbox中被映射到minikube端口32080,My-inres-DEMO.com作为127.0.0.1in/etc/ host添加到我的Mac上。当我进入http://my-ingress-demo.com:32080/grafana/时,我总是碰到一个错误(浏览器类型: Chrome),上面写着
If you're seeing this Grafana has failed to load its application files
1. This could be caused by your reverse proxy settings.
2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath
3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn build
4. Sometimes restarting grafana-server can help`首先,我使用helm安装了nginx入口控制器。
helm install stable/nginx-ingress --name r1 --set controller.service.nodePorts.http=32080 --set controller.service.type=NodePort --set controller.service.nodePort=8080 --namespace default
我的grafana部署是
apiVersion: apps/v1 kind: Deployment metadata: name: grafana-demo spec: replicas: 1 selector: matchLabels: podLabel: GrafanaDemoPod template: metadata: labels: podLabel: GrafanaDemoPod spec: containers: - name: grafana-demo image: "grafana/grafana:6.1.4" imagePullPolicy: Always env: - name: GF_SERVER_ROOT_URL value: "%(protocol)s://%(domain)s:/grafana" - name: GF_SERVER_DOMAIN value: "my-ingress-demo.com" ports: - name: grafana-cntrprt containerPort: 3000 protocol: TCP livenessProbe: failureThreshold: 10 httpGet: path: /api/health port: grafana-cntrprt initialDelaySeconds: 60 timeoutSeconds: 30 readinessProbe: httpGet: path: /api/health port: grafana-cntrprt
相应的服务定义如下
apiVersion: v1
kind: Service
metadata:
name: grafana-demo-svc
labels:
svc_category: front-end
spec:
selector:
podLabel: GrafanaDemoPod
ports:
- name: grafana-svcport
port: 3000
targetPort: 3000我的入口定义如下
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: grafana-app-ingress
spec:
rules:
- host: my-ingress-demo.com
http:
paths:
- path: "/grafana/"
backend:
serviceName: grafana-demo-svc
servicePort: grafana-svcport我本来希望看到登录屏幕,但我一直得到404。如果我试图在ingress配置中包含常见的重写规则,则会得到太多的重定向错误。
尝试使用更简单的设置,使用对接-撰写,但仍然击中相同的问题。我一定是在做些很愚蠢的事
version: '3.3'
services:
grafana:
image: "grafana/grafana"
container_name: 'grafanaxxx'
ports:
- '3000:3000'
environment:
- GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana/发布于 2019-04-29 13:41:07
试着使用这个(参见后面的斜杠)
GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana/在Nginx的这条路:
paths:
- path: "/grafana"https://stackoverflow.com/questions/55904364
复制相似问题