首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从部署在同一集群中的golang应用程序连接到kubernetes上的redis群集

无法从部署在同一集群中的golang应用程序连接到kubernetes上的redis群集
EN

Stack Overflow用户
提问于 2020-08-12 09:20:53
回答 1查看 2.3K关注 0票数 0

我在Kubernetes上部署了一个具有bitnami图表(https://github.com/bitnami/charts/tree/master/bitnami/redis-cluster)的redis集群。

通过运行以下命令,我可以从Kubernetes集群内成功地连接到Redis集群:

  1. kubectl run my-redis-release-client --rm -it --image docker.io/bitnami/redis:4.0.11-debian-9 -- bash

  1. redis-cli -h redis-cluster-0.redis-cluster-headless.redis

但是,我无法从部署在同一集群中的golang应用程序连接到redis集群。

我在golang应用程序中使用的redis连接字符串uri是"redis://redis-cluster-0.redis-cluster-headless.redis:6379".。这遵循了“redis-po-name.redis-service-name.命名空间”的约定。

注意:我希望能够只在Kubernetes集群中访问redis集群。我不想批准外部访问。请帮帮我..。

EN

回答 1

Stack Overflow用户

发布于 2020-08-12 13:45:20

如果您不需要负载平衡和一个服务IP,Headless服务就是.Headless服务并不仅用于从Kubernetes集群内访问redis集群。

您可以创建一个服务来公开redis。下面是一个创建ClusterIP类型的示例,它只让我们从集群内部而不是集群外部连接到它。

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: redis
  namespace: default
spec:
  ports:
  - port: 6379
    targetPort: 6379
  selector:
    app: redis

红色信息系统的吊舱或部署需要有匹配的标签app: redis

然后,您可以使用redis.default.svc.cluster.local:6379连接到它,从Golang应用程序连接到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63373547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档