[英]Elasticsearch Kubernetes pod - can't connect to port 9300
我正在尝试将我的弹性搜索 Pod 连接到端口 9200 和 9300。当我去:
http://localhost:$IP_FROM_KUBECTL_PROXY(usually 8001)/api/v1/namespaces/default/pods/$POD_NAME/proxy/
我看到以下错误:
Error: 'net/http: HTTP/1.x transport connection broken: malformed HTTP status code "is"'
Trying to reach: 'http://172.17.0.5:9300/'
我所做的是,运行:
kubectl run elasticsearch --image=elasticsearch:6.6.1 -labels="elasticsearch" --env="discovery.type=single-node" --port=9200 --port=9300
并运行以下服务:
kind: Service
apiVersion: v1
metadata:
name: elasticsearch
spec:
selector:
host: elasticsearch
subdomain: for-kibana
app: elasticsearch
ports:
- protocol: TCP
name: serving
port: 9200
targetPort: 9200
- protocol: TCP
name: node2node
port: 9300
targetPort: 9300
这很奇怪,因为当我只使用端口 9200 时,一切正常,但是当我使用 9300 运行时,它失败了。
端口 9300 是二进制协议(不是 http),用于节点通信。 只有端口 9200 暴露了 Rest Api
从文档:
两个 Java 客户端都使用本地 Elasticsearch 传输协议通过端口 9300 与集群通信。 集群中的节点也通过端口 9300 相互通信。如果此端口未打开,您的节点将无法形成集群。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.