[英]How to use service name in DataStax and not IP?
Using the Datastax C# Driver I'm trying to connect to Cassandra which was deployed to Azure Kubernetes Services using a Bitnami helm chart.
var cluster = Cluster.Builder()
.AddContactPoint("127.0.0.0") // example IP
.WithCredentials("cassie", "some-pass")
.Build();
在本地尝试此操作时,我使用kubectl port-forward
,但是当我将服务上传到 Kubernetes 时,我想使用服务名称。 同事向我展示的许多应用程序都使用它。 当我添加 helm chart 安装后给我的链接时
Cassandra 可以通过集群内的以下 URL 访问:
- CQL:服务名称.some-namespace.svc.cluster.local:9042
我无法连接,我得到一个Cassandra.NoHostAvailableException并且我必须使用 IP。
如何解决这个问题呢。 每次我重新部署时,IP 都会发生变化。 如何使用名称代替 IP?
显然,为 DNS 提供格式为“DNS:PORT”的 AddContactPoint 参数不起作用。 使用 WithPort 方法成功了。
var cluster = Cluster.Builder()
.WithPort(PORT)
.AddContactPoint("dns")
.WithCredentials("cassie", "some-pass")
.Build();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.