kibana 7.2 无法访问 kubernetes 上的弹性搜索

kibana 7.2 can't reach elasticsearch on kubernetes

我正在测试最新版本的 Elastic Stack (7.2.0),我似乎无法将 Kibana 连接到 Elasticsearch,但是当我回滚到 6.8.1 时它可以正常工作。有什么想法吗?


Kibana 部署和服务

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: *************
  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:7.2.0
        resources:
          limits:
            cpu: 1000m
          requests:
            cpu: 100m
        env:
          - name: ELASTICSEARCH_URL
            value: http://elastic.****************:80
        ports:
        - containerPort: 5601
          name: kibana
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: *************
  labels:
    component: kibana
spec:
  selector:
    component: kibana
  ports:
  - port: 80
    protocol: "TCP"
    name: "http"
    targetPort: 5601

我正在使用入口,但当我尝试部署 7.2.0 时 Kibana 完全忽略了 ELASTICSEARCH_URL 值,但当我回滚到 6.8.1 时它有效。我不知道 7.2.0 是否不再支持此方法,我一直在努力寻找一些文档,但没有成功。

更新 ELASTICSEARCH_URL 中的摄取服务 DNS 名称,如下所示。假设 kibana 和 es 运行 在同一个 k8s 集群中


          - name: ELASTICSEARCH_URL
            value: http://ingest.<namespace>.svc.cluster.local:9200

更新 运行 在

中的正确命名空间

从 Kibana 7.0 开始,elasticsearch.url 不再有效,现在是 elasticsearch.hostshttps://www.elastic.co/guide/en/kibana/7.x/breaking-changes-7.0.html#_literal_elasticsearch_url_literal_is_no_longer_valid

环境变量转换为这些设置名称。在这种情况下,新的环境变量将为 ELASTICSEARCH_HOSTS。请参阅 https://www.elastic.co/guide/en/kibana/7.2/docker.html.

中的示例

将您的环境密钥从 ELASTICSEARCH_URL 更改为 ELASTICSEARCH_HOSTS