1

我正在使用ECK 1.5.0,我必须使用 Ingress 来公开 Elasticsearch。但是当我转到 url ( http://my-db-url.com) 时,我得到了一个 502 网关。我已经确认数据库运行良好并且能够收集/显示数据。

我只能找到在网络上使用 Ingress 公开 Kibana 的解决方案,但这些对我不起作用。

这是我的 elasticsearch.yaml(包含 Elasticsearch 对象和 Ingress 对象):

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: my-db
spec:
  version: 7.12.0
  volumeClaimDeletePolicy: DeleteOnScaledownOnly
  nodeSets:
  - name: default
    count: 3
    config:
      node.store.allow_mmap: false
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
        storageClassName: longhorn

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-db-ingress
  namespace: my-namespace
  annotations:
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    nginx.ingress.kubernetes.io/upstream-vhost: "$http_host"
spec:
  rules:
    - host: my-db-url.com
      http:
        paths:
          - backend:
              serviceName: my-db-es-http
              servicePort: 9200
4

1 回答 1

3

原来这里问了同样的问题:https://discuss.elastic.co/t/received-plaintext-http-traffic-on-an-https-channel-closing-connection/271380

解决方案是使用注释强制 HTTPS,对于 nginx 入口控制器,可以在这里找到:https ://github.com/elastic/helm-charts/issues/779#issuecomment-781431675

于 2021-08-24T21:22:38.163 回答