spring-boot - Kubernetes 无法访问 cassandra 数据库
问题描述
我无法访问部署在 kubernetes 相同命名空间上的 Cassandra 数据库。
我的服务没有集群 IP,但有一个内部端点 cassandra.hosting:9042 但每当我尝试从内部 spring 应用程序连接时使用
spring.data.cassandra.contact-points=cassandra.hosting
它失败并出现错误All host(s) tried for query failed
解决方案
您是如何配置端点的?通常,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-dns
或kube-dns
正在运行并准备好:
kubectl -n kube-system get pods | grep dns
推荐阅读
- css - 在 React 中使用 SASS 子类
- flutter - 无法显示网络图像
- pine-script - 变量似乎保持不变
- windows - 在 Windows 服务启动后运行命令行
- c++ - 使用 WASAPI 录制音频流
- python - How to load HTML file with external link to CSS file with wxPython?
- sql - MySQL 错误 1064:您的 SQL 语法工作台 8.0 中有错误
- javascript - 如何自定义嵌入式推特推文的高度和宽度
- oracle-sqldeveloper - 为什么Oracle SQL Developer 打开一个大脚本时那么慢?
- python - 为什么 networkx 的 read_edgelist 不接受数组/列表作为权重?