繁体   English   中英

如何在此Kubernetes示例中选择主Redis窗格?

[英]How do I select the master Redis pod in this Kubernetes example?

这是我模仿的例子

在自述文件的“删除我们的手册”部分中:

  1. redis哨兵自己,意识到主人已从群集中消失,并开始选择新主人的选举程序。 他们执行此选举和选择,并选择一个现有的redis服务器副本作为新主服务器。

如何选择新的主人? redis-controller.yamlredis复制控制器控制的所有3个Redis服务器pod仍然具有相同的功能

labels:
  name: redis

这是我目前在我的服务中使用它来选择它们。 3个豆荚将如何区分,以便从Kubernetes我知道哪个是主人?

3个豆荚将如何区分,以便从Kubernetes我知道哪个是主人?

Kubernetes不知道主节点。 您可以通过连接并使用以下方式手动找到pod:

redis-cli info

您将获得有关服务器的大量信息,但我们需要为我们的目的发挥作用:

redis-cli info | grep ^role
Output:
role: Master

请注意, Replication controllers将替换为无状态服务的Deployments 对于有状态服务,请使用Statefulsets

您的客户端Redis库实际上可以处理此问题。 例如ioredis

ioredis保证即使在故障转移后,您连接的节点也始终是主节点。

所以,你实际上连接到redis-sentinel而不是redis-client

我们需要做同样的事情并尝试不同的事情,比如修改图表。 最后,刚刚创建了一个简单的python docker,它执行标记并创建了将主redis公开为服务的图表。 这会定期检查pods为redis-ha创建并根据其角色(主/从)标记它们

它使用相同的sentinel命令来查找主/从。

掌舵图redis-pod-labeler这里 来源回购

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM