首页 > 解决方案 > Kubernetes 无法访问 cassandra 数据库

问题描述

我无法访问部署在 kubernetes 相同命名空间上的 Cassandra 数据库。

我的服务没有集群 IP,但有一个内部端点 cassandra.hosting:9042 但每当我尝试从内部 spring 应用程序连接时使用

spring.data.cassandra.contact-points=cassandra.hosting

它失败并出现错误All host(s) tried for query failed

标签: spring-bootcassandrakubernetes

解决方案


您是如何配置端点的?通常,Kubernetes 集群中的所有服务和 Pod 都可以通过标准DNS 表示法发现。它看起来像这样:

<service-name>.<namespace>.svc.cluster.local # or
<pod-name>.<namespace>.svc.cluster.local # or
<pod-name>.<subdomain>.<namespace>.svc.cluster.local

如果您在同一个命名空间中,这也可以:

<service-name>
<pod-name>
<pod-name>.<subdomain>

我还将检查core-dnskube-dns正在运行并准备好:

kubectl -n kube-system get pods | grep dns

推荐阅读