API состояния кластера SolrCloud возвращает внутренние имена хостов kubernetes, которые недоступны извне кластера kubernetes - PullRequest
0 голосов
/ 05 марта 2020

Я настроил кластер SolrCloud с помощью рулевой диаграммы на кластере Kubernetes и выставил solr-sv c как NodePort, т. Е.

service/solr-svc NodePort 10.252.234.133 <none> 8983:32470/TCP

Я получил следующее сообщение об ошибке с apache клиентом Solrj.

Caused by: java.lang.RuntimeException: Tried fetching cluster state using the node names we knew of, i.e. [solr-2.solr-headless.default:8983_solr, solr-0.solr-headless.default:8983_solr, solr-1.solr-headless.default:8983_solr]. However, succeeded in obtaining the cluster state from none of them.

Это связано с тем, что API состояния кластера SolrCloud возвращает следующий ответ при запросе состояния кластера

live_nodes: [
"solr-2.solr-headless.default:8983_solr",
"solr-0.solr-headless.default:8983_solr",
"solr-1.solr-headless.default:8983_solr"]

API, который я использовал для получения статуса кластера: http://<k8snodeIP:NodePort>/solr/admin/collections?action=CLUSTERSTATUS

По сути, он возвращает внутренние имена хостов кластера k8s, и они не могут быть доступны извне кластера.

Могу ли я узнать, как почини это. Большое спасибо.

...