配置集群 DNS

配置DNS以在集群中的节点之间进行通信。

默认情况下,Redis Enterprise Software 部署使用 DNS 在节点之间进行通信。您还可以使用 Discovery Service,它使用 IP 地址进行连接,并符合 Redis Community Edition 支持的 Redis Sentinel API

Redis Enterprise集群中的每个节点都包含一个小型DNS服务器,用于管理内部功能,如高可用性、自动故障转移、自动迁移等。 节点应仅运行软件中包含的DNS服务器。运行额外的DNS服务器可能会导致意外行为。

集群名称和连接管理

无论您是管理Redis企业版软件还是访问数据库,都有两种连接方式:

  • 基于URL的连接 - 基于URL的连接使用DNS来解析完全限定的集群域名(FQDN)。这意味着当拓扑结构发生变化时,例如添加(或删除)集群中的节点,可能需要更新DNS记录。

    由于应用程序和其他客户端连接依赖于URL(而不是地址),因此在拓扑结构发生变化时,它们不需要进行修改。

  • 基于IP的连接 - 基于IP的连接不需要DNS设置,因为它们依赖于底层的TCP/IP地址。只要拓扑结构的变化不改变集群节点的地址,就不需要更改配置,无论是DNS还是其他配置。

    然而,IP地址的更改(或IP地址访问的更改)会影响所有连接到该节点的应用程序和客户端。因此,IP地址的更改可能是不可预测的或耗时的。

基于URL的连接

完全限定域名(FQDN)是使客户端能够连接到Redis Enterprise Software不同组件的唯一集群标识符。 FQDN是高可用性机制的关键组成部分,因为它在内部用于启用和实现节点、数据库、分片和端点的自动和透明故障转移。

注意:
设置集群的FQDN是一次性操作,设置后无法更改。

FQDN 必须始终符合 IETF 的 RFC 952 标准 以及 RFC 1123 标准的第 2.1 节。

识别集群

要识别集群,可以使用DNS定义完全限定域名或使用每个节点的IP地址。

使用DNS定义域名

如果您:

  • 拥有自己的域名
  • 想要将集群集成到该域中
  • 可以访问和更新该域的DNS记录
  1. 确保集群和集群中的至少一个节点(最好是所有节点)在DNS中正确配置了适当的NS条目。

    例如:

    • 您的域名是:mydomain.com
    • 您希望将Redis Enterprise Software集群命名为mycluster
    • 集群中有三个节点:
      • node1 (IP地址 1.1.1.1)
      • node2 (2.2.2.2)
      • node3 (3.3.3.3)
  2. 在FQDN字段中,输入值mycluster.mydomain.com,并在mydomain.com的DNS表中添加以下记录:

    mycluster.mydomain.com        NS  node1.mycluster.mydomain.com
                                      node2.mycluster.mydomain.com
                                      node3.mycluster.mydomain.com 
    
    node1.mycluster.mydomain.com  A   1.1.1.1
    
    node2.mycluster.mydomain.com  A   2.2.2.2
    
    node3.mycluster.mydomain.com  A   3.3.3.3
    

使用mDNS的零配置

开发和测试环境可以使用多播DNS(mDNS),这是一种为零配置服务设计的小型网络。生产环境不应使用mDNS。

mDNS 是一种标准协议,它为本地网络上的机器提供类似 DNS 的名称解析和服务发现功能,几乎不需要配置。

在采用mDNS之前,请确认您希望用于连接到Redis数据库的每个客户端都支持mDNS。同时,确保您的网络基础设施允许客户端和集群节点之间的mDNS/多播。

配置集群以支持mDNS需要您为集群分配一个.local名称。

例如,如果你想将Redis Enterprise Software集群命名为rediscluster,请将FQDN名称指定为rediscluster.local

当使用DNS或mDNS选项时,故障转移可以透明地完成,并且DNS会自动更新以指向新主节点的IP地址。

基于IP的连接

当您使用基于IP的连接选项时,FQDN不需要具有任何特殊格式,因为客户端使用IP地址而不是主机名来访问数据库,因此您可以自由选择任何名称。使用基于IP的连接选项也不需要任何DNS配置。

要管理集群,您确实需要知道集群中至少一个节点的IP地址。 一旦您有了IP地址,您就可以简单地连接到端口号8443(例如:https://10.0.0.12:8443)。 然而,随着集群拓扑的变化和具有给定IP地址的节点被移除, 您需要记住参与此集群的另一个节点的IP地址,以便连接到集群管理器UI并管理集群。

连接到Redis软件数据库的应用程序具有相同的限制。 当使用基于IP的连接方法时,只要您拥有集群中至少一个节点的IP地址,就可以使用Discovery Service来发现给定数据库名称的数据库端点。 用于发现服务的API符合Redis Sentinel API。

要测试您的连接,请尝试对服务进行ping操作。如需帮助,请参阅连接到您的数据库

RATE THIS PAGE
Back to top ↑