SolrCloud的集群状态API返回内部kubernetes主机名,无法从kubernetes集群外部访问

时间:2020-03-05 20:11:20

标签: kubernetes solr kubernetes-helm solrj solrcloud

我在Kubernetes集群上使用helm chart设置了SolrCloud集群,并将solr-svc公开为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.

这是因为,当查询集群状态时,SolrCloud的集群状态API返回以下响应

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内部群集主机名,而这些名称不能从群集外部访问。

我可以知道如何解决它。非常感谢。

0 个答案:

没有答案