从 golang 连接到 kubernetes-aerospike 网格集群

Connect to kubernetes-aerospike mesh cluster from golang

我是 kubernetes 的新手。我成功地为 aerospike-kubernetes 创建了一个无头服务。我登录到 docker 容器并验证网格包含所有副本。我已经使用 https://github.com/aerospike/aerospike-kubernetes/blob/master/aerospike-statefulset.yaml 了。

现在,由于它的无头服务集群 IP 是 "none",我正在编写一个 golang 程序来连接到 aerospike。我很困惑应该在 IP 地址中输入什么来连接到 aerospike。我应该给什么来代替 xxx-xxx-xxx-xxx?我如何生成内部 IP 以便我可以连接到整个网格?

client, err := as.NewClient("xxx-xxx-xxx-xxx", 3000)
if err != nil {
    log.Fatal(err)
}

此 golang 项目将部署为 pod,因此内部 IP 就足够了。

headless service clusterIP is "none"

这只是意味着我们不使用负载 balancer/reverse 代理模式,而是为服务端点使用 DNS 轮询模式。

默认情况下,Aerospike 集群的可见性仅限于 Kubernetes 环境。您可以使用 kube-dns 生成的服务名称进行连接。地址将采用以下形式:..svc.cluster.local。换句话说:aerospike.aerospike-cluster-1.svc.cluster.local 如果您将其保留为默认值。