Я настроил кластер 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, и они не могут быть доступны извне кластера.
Могу ли я узнать, как почини это. Большое спасибо.