网络端口配置

本文档描述了各种网络端口范围及其用途。

所有Redis企业版软件的部署都跨越多个物理/虚拟节点。您需要在这些节点之间保持多个端口开放。本文档描述了各种端口范围及其用途。

注意:
每当您创建一个新数据库时,您必须验证分配给新数据库端点的端口是否已打开。集群不会为您执行此验证。

Redis Enterprise Software 使用的端口和端口范围

Redis企业版软件的端口使用分为三大类:

  • 内部:用于集群节点之间或内部的流量
  • 外部:用于来自客户端应用程序或外部监控资源的流量
  • Active-Active: 用于与托管Active-Active数据库的集群之间的流量
协议 端口 可配置 连接源 描述
TCP 8001 ❌ 否 内部, 外部 从应用程序到Redis企业软件的流量 发现服务
TCP 8070 ❌ 否 外部 由网络代理导出和管理的指标
TCP 3347-3349, 8000, 8071, 9091, 9125 ❌ 否 内部 内部指标端口
TCP 8443 ✅ 是 内部, 外部 安全 (HTTPS) 访问管理网页界面
TCP 9081 ✅ 是 内部 用于Active-Active管理的CRDB协调器(内部)
TCP 9443, 8080 ✅ 是 内部, 外部, 主动-主动 REST API 流量,包括集群管理和节点引导
TCP 10050 ❌ 否 内部 Zabbix 监控
TCP 10000-10049, 10051-19999 ✅ 是 内部, 外部, 主动-主动 数据库流量
UDP 53, 5353 ❌ 否 内部, 外部 DNS/mDNS 流量
TCP 1968 ❌ 否 内部 代理流量
TCP 3333-3345, 3350, 36379, 36380 ❌ 否 内部 节点间通信
TCP 20000-29999 ❌ 否 内部 数据库分片流量
TCP 8002, 8004, 8006 ✅ 是 内部 默认系统健康监控(envoy 管理,envoy 管理服务器,gossip envoy 管理)
TCP 8444, 9080 ❌ 否 内部 Web代理与cnm_http/cm之间的流量

更改端口配置

保留端口

Redis 企业版软件默认保留了一些端口(system_reserved_ports)。要保留其他端口或端口范围并防止集群将它们分配给数据库端点,请使用以下方法之一配置 reserved_ports

  • rladmin cluster config

    rladmin cluster config reserved_ports <端口列表/端口范围>
    

    例如:

    rladmin cluster config reserved_ports 11000 13000-13010
    
  • 更新集群设置 REST API 请求

    PUT /v1/cluster
    { "reserved_ports": ["端口列表/端口范围"] }
    

    例如:

    PUT /v1/cluster
    { "reserved_ports": ["11000", "13000-13010"] }
    

更改集群管理器UI端口

Redis Enterprise 软件集群管理器 UI 默认使用端口 8443。只要新端口未被其他进程使用,您可以将其更改为自定义端口。

要更改此端口,请运行:

rladmin cluster config cm_port <new-port>

更改Redis Enterprise Software Web UI端口后,您必须将添加到集群的任何新节点连接到具有自定义端口号的UI: https://newnode.mycluster.example.com:<nonstandard-port-number>

更改envoy端口

对于系统健康监控,Redis默认使用以下端口:

  • 用于envoy管理的端口8002

  • 用于envoy管理服务器的端口8004

  • 用于gossip envoy管理的端口8006

您可以使用rladmin cluster config命令将每个envoy端口更改为自定义端口,只要新端口未被其他进程使用。当您更改envoy_admin_port时,预计envoy会重新启动。

要更改envoy管理端口,请运行:

$ rladmin cluster config envoy_admin_port <new-port>
Updating envoy_admin_port... restarting now

要更改envoy管理服务器端口,请运行:

$ rladmin cluster config envoy_mgmt_server_port <new-port>
Cluster configured successfully

要更改八卦使者管理端口,请运行:

$ rladmin cluster config gossip_envoy_admin_port <new-port>
Cluster configured successfully

更改REST API端口

对于REST API,Redis Enterprise Software默认使用端口9443(安全)和端口8080(不安全)。只要新端口未被其他进程使用,您可以将其更改为自定义端口。

要更改这些端口,请运行:

rladmin cluster config cnm_http_port <new-port>
rladmin cluster config cnm_https_port <new-port>

Ubuntu与端口53冲突

如果端口53正在使用中,安装将失败。这种情况可能发生在Ubuntu 18.04和20.04的默认安装中,其中systemd-resolved(DNS服务器)正在运行。

为了防止这个问题,在安装之前更改系统配置以使该端口可用。

  1. 编辑 /etc/systemd/resolved.conf:

    sudo vi /etc/systemd/resolved.conf
    
  2. 在文件的最后一行添加DNSStubListener=no并保存文件。

  3. 重命名当前的/etc/resolv.conf文件:

    sudo mv /etc/resolv.conf /etc/resolv.conf.orig
    
  4. /etc/resolv.conf创建一个符号链接:

    sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
    
    注意:
    您可能会遇到一个临时的名称解析错误(sudo: unable to resolve host {hostname}: Temporary failure in name resolution),这应该在下一步重新启动systemd-resolved时得到解决。
  5. 重新启动DNS服务:

    sudo service systemd-resolved restart
    

更新 sysctl.conf 以避免端口冲突

为了避免端口冲突,更新 /etc/sysctl.conf 以包含:

net.ipv4.ip_local_port_range = 30000 65535

配置HTTPS

要求API端点使用HTTPS

默认情况下,Redis Enterprise Software API 支持通过 HTTP 和 HTTPS 进行通信。但是,您可以关闭 HTTP 支持,以确保 API 请求被加密。

在关闭HTTP支持之前,请确保将使用HTTP的任何脚本或代理配置迁移到加密的API端点,以防止连接中断。

要关闭API端点的HTTP支持,请运行:

rladmin cluster config http_support disabled

关闭HTTP支持后,发送到未加密API端点的流量将被阻止。

HTTP 到 HTTPS 重定向

从版本6.0.12开始,您不能使用自动HTTP到HTTPS重定向。 要从metrics_exporter轮询指标或访问集群管理器UI,请在请求中使用HTTPS。对于这些服务,HTTP请求不会自动重定向到HTTPS。

不同VLAN上的节点

同一集群中的节点必须位于同一VLAN上。如果无法将节点托管在同一VLAN上,则必须在它们之间打开所有端口

RATE THIS PAGE
Back to top ↑