kubernetes中的Redis哨兵集群,哨兵无法到达redis master

问题描述 投票:0回答:2

我正在使用以下方法创建 Redis 哨兵集群:

https://github.com/kubernetes/examples/tree/master/staging/storage/redis

它在给定的镜像上运行得非常好,但是当我们使用 Redis 官方镜像时,哨兵无法连接到第一个 pod 中的 Redis。

显示以下错误:

无法连接到位于 -p:6379 的 Redis

如何使用Redis官方镜像创建集群?

docker kubernetes redis redis-sentinel
2个回答
0
投票

要将 google 存储库中的映像替换为公共 docker hub 映像,需要为此示例修改以下部署文件:

examples/staging/storage/redis/redis-master.yaml
examples/staging/storage/redis/redis-sentinel-service.yaml
examples/staging/storage/redis/redis-controller.yaml

在这些文件中,您将找到如下图像配置:

spec:
      containers:
      - name: sentinel
        image: k8s.gcr.io/redis:v1

将所有

image: k8s.gcr.io/redis:v1
替换为
image: redis:stable
image: redis:latest

修改这些图像配置后应如下所示:

spec:
      containers:
      - name: sentinel
        image: redis:stable

您提到的 dockerfile 中的 alpine 图像用于运行脚本以删除尾随空格。


更新:

经过进一步调查,这个示例似乎使用了 GCR 存储库中的特定 redis image,并将其替换为官方 redis 镜像将不起作用。

如果你想在 kubernetes 中部署 redis,我建议使用 bitnami-docker-redis github 项目。有关在 kubernetes 上安装它的更多信息可以在here找到。

官方redisgithub页面和redis文档没有提及任何有关在kubernetes上部署redis的内容。


0
投票

查看 Redis Sentinel Gateway — 它有助于管理 Redis 故障转移,而无需在应用程序代码中实现 Sentinel 支持。非常适合需要高可用性的遗留应用程序!

© www.soinside.com 2019 - 2024. All rights reserved.