Не удается получить доступ к панели инструментов Kibana

Я пытаюсь развернуть Kibana в своем кластере Kubernetes, который находится на AWS. Чтобы получить доступ к панели инструментов Kibana, я создал вход, который сопоставлен с xyz.com. Вот мой файл развертывания Kibana.

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: kibana
  labels:
    component: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
     component: kibana
  template:
    metadata:
      labels:
        component: kibana
    spec:
      containers:
      - name: kibana
        image: docker.elastic.co/kibana/kibana-oss:6.3.2
        env:
        - name: CLUSTER_NAME
          value: myesdb
        - name: SERVER_BASEPATH
          value: /
        resources:
          limits:
            cpu: 1000m
          requests:
            cpu: 100m
        ports:
        - containerPort: 5601
          name: http
        readinessProbe:
          httpGet:
            path: /api/status
            port: http
          initialDelaySeconds: 20
          timeoutSeconds: 5
        volumeMounts:
          - name: config
            mountPath: /usr/share/kibana/config
            readOnly: true
      volumes:
        - name: config
          configMap:
            name: kibana-config

Всякий раз, когда я развертываю его, он дает мне следующую ошибку. Каким должен быть мой SERVER_BASEPATH, чтобы он работал? Я знаю, что по умолчанию это /app/kibana.

FATAL { ValidationError: child "server" fails because [child "basePath" fails because ["basePath" with value "/" fails to match the start with a slash, don't end with one pattern]]
    at Object.exports.process (/usr/share/kibana/node_modules/joi/lib/errors.js:181:19)
    at internals.Object._validateWithOptions (/usr/share/kibana/node_modules/joi/lib/any.js:651:31)
    at module.exports.internals.Any.root.validate (/usr/share/kibana/node_modules/joi/lib/index.js:121:23)
    at Config._commit (/usr/share/kibana/src/server/config/config.js:119:35)
    at Config.set (/usr/share/kibana/src/server/config/config.js:89:10)
    at Config.extendSchema (/usr/share/kibana/src/server/config/config.js:62:10)
    at _lodash2.default.each.child (/usr/share/kibana/src/server/config/config.js:51:14)
    at arrayEach (/usr/share/kibana/node_modules/lodash/index.js:1289:13)
    at Function.<anonymous> (/usr/share/kibana/node_modules/lodash/index.js:3345:13)
    at Config.extendSchema (/usr/share/kibana/src/server/config/config.js:50:31)
    at new Config (/usr/share/kibana/src/server/config/config.js:41:10)
    at Function.withDefaultSchema (/usr/share/kibana/src/server/config/config.js:34:12)
    at KbnServer.exports.default (/usr/share/kibana/src/server/config/setup.js:9:37)
    at KbnServer.mixin (/usr/share/kibana/src/server/kbn_server.js:136:16)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
  isJoi: true,
  name: 'ValidationError',
  details: 
   [ { message: '"basePath" with value "&#x2f;" fails to match the start with a slash, don\'t end with one pattern',
       path: 'server.basePath',
       type: 'string.regex.name',
       context: [Object] } ],
  _object: 
   { pkg: 
      { version: '6.3.2',
        branch: '6.3',
        buildNum: 17307,
        buildSha: '53d0c6758ac3fb38a3a1df198c1d4c87765e63f7' },
     dev: { basePathProxyTarget: 5603 },
     pid: { exclusive: false },
     cpu: { cgroup: [Object] },
     cpuacct: { cgroup: [Object] },
     server: { name: 'kibana', host: '0', basePath: '/' } },
  annotate: [Function] }

Я следовал этому руководству https://github.com/pires/kubernetes-elasticsearch-cluster

Любая идея, в чем может быть проблема?


person Anshul Tripathi    schedule 22.08.2018    source источник


Ответы (1)


Я считаю, что пример конфигурации в официальном репозитории kibana дает подсказка о причине этой проблемы, вот настройка server.basePath:

# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""

Тот факт, что server.basePath не может заканчиваться косой чертой, может означать, что кибана интерпретирует ваши настройки как заканчивающиеся косой чертой. Я не копал глубже в этом, хотя.

Это сообщение об ошибке интересно:

message: '"basePath" with value "&#x2f;" fails to match the start with a slash, don\'t end with one pattern'

Таким образом, это сообщение об ошибке является дополнением к документации: не заканчивайте косой чертой и не начинайте с косой черты. Что-то подобное.

Я воспроизвел это в minikube, используя ваш манифест развертывания, но я удалил части монтирования тома в конце. Изменение SERVER_BASEPATH на /<SOMETHING> работает нормально, поэтому я думаю, что вам просто нужно установить правильный базовый путь.

person mikejoh    schedule 22.08.2018
comment
Я пытался использовать /app в качестве SERVER_BASEPATH, но по-прежнему не могу получить доступ к панели управления. Должно ли быть определенное значение для базового пути? Я создал вход, но когда я пытаюсь получить доступ к abc.com/app. Пишет 503 недоступен. Я проверяю журналы, и все в порядке. - person Anshul Tripathi; 23.08.2018
comment
Я узнал, в чем дело. Я добавил следующее значение в configmap, и оно сработало server.defaultRoute: /app/kibana - person Anshul Tripathi; 23.08.2018
comment
Это здорово, приятно знать, пожалуйста, добавьте это как ответ на свой вопрос и отметьте его как правильный ответ! - person mikejoh; 23.08.2018