Установка Minikube с Grafana и входным контроллером nginx не в состоянии выполнить root_url - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь настроить среду разработки, используя minikube (на Mac, VirtualBox) с пользовательским веб-приложением и графаном.Я просто не могу заставить совместную работу nginx ingress controller + grafana root_url.Поскольку Grafana, nginx и minikube являются такими популярными инструментами, я, должно быть, что-то упускаю, и у меня совершенно нет идей / удачи.Я был бы очень признателен, если бы кто-нибудь мог помочь мне здесь.Я потратил немало времени на это.

Хост-порт 32080 не назначен в Virtualbox на порт мини-куба 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


Мое развертывание 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 с.Если я пытаюсь включить общее правило перезаписи во входную конфигурацию, я получаю слишком много ошибок перенаправлений


, пытающихся с еще более простой настройкой использования 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/

1 Ответ

0 голосов
/ 29 апреля 2019

Попробуйте использовать это (см. Косую черту)

GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana/

И этот путь в Nginx:

paths:
  - path: "/grafana"
...