ECK Elasticsearch 的入口不工作 - 502 网关
Ingress for ECK Elasticsearch not working - 502 gateway
我正在使用 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
原来在这里问了同样的问题: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
我正在使用 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
原来在这里问了同样的问题: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