[英]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.