Модуль Elasticsearch Kubernetes - не может подключиться к порту 9300 - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь подключить модуль упругого поиска к портам 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, он терпит неудачу.

1 Ответ

0 голосов
/ 03 марта 2019

Порт 9300 является двоичным протоколом (не http) и используется для связи узла.Только порт 9200 предоставил Rest Api

Из документации :

Оба клиента Java взаимодействуют с кластером через порт 9300, используя собственный транспортный протокол Elasticsearch.Узлы в кластере также связываются друг с другом через порт 9300. Если этот порт не открыт, ваши узлы не смогут сформировать кластер.

...