Я пытаюсь настроить среду разработки с помощью minikube (на Mac, VirtualBox) с настраиваемым веб-приложением и графаной. Я просто не могу заставить работать параметр nginx ingress controller + grafana root_url вместе. Поскольку Grafana, nginx и minikube являются такими популярными инструментами, я, должно быть, что-то упускаю из виду, и у меня нет идей / удачи. Я был бы очень признателен, если бы кто-нибудь мог мне здесь помочь. Я потратил на это довольно много времени.
Порт хоста 32080 н / б сопоставлен в Virtualbox с портом minikube 32080. my-ingress-demo.com добавлен как 127.0.0.1 в / etc / hosts на моем 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`
Сначала я установил контроллер входа nginx с помощью helm
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
Мое развертывание графаны
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. Если я попытаюсь включить общее правило перезаписи во входную конфигурацию, я получаю слишком много ошибок перенаправления
попробовал с еще более простой настройкой использования docker-compose, но все еще сталкивался с той же проблемой. Я, должно быть, делаю здесь что-то действительно глупое
version: '3.3'
services:
grafana:
image: "grafana/grafana"
container_name: 'grafanaxxx'
ports:
- '3000:3000'
environment:
- GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana/