Application Delivery Management

配置本地代理以进行多站点部署

在 NetScaler Console 的早期版本中,可以从主数据中心运行的 NetScaler Console 管理和监控部署在远程数据中心中的 NetScaler 实例。NetScaler 实例直接将数据发送到主 NetScaler Console,这导致了 WAN 带宽的消耗。此外,分析数据处理会占用主 NetScaler Console 的 CPU 和内存资源。

您的数据中心可能遍布全球。代理在以下场景中发挥着重要作用:

  • 在远程数据中心安装代理,以减少 WAN 带宽消耗。

  • 限制直接向主 NetScaler Console 发送流量以进行数据处理的实例数量。

注意

  • 建议为远程数据中心中的实例安装代理,但这不是强制性的。如有必要,用户可以直接将 NetScaler 实例添加到主 NetScaler Console。

  • 如果您已为一个或多个远程数据中心安装了代理,则代理与主站点之间的通信通过浮动 IP 地址进行。有关详细信息,请参阅 端口

  • 您可以安装代理并将池化许可证应用于一个或多个远程数据中心中的实例。在这种情况下,主站点与一个或多个远程数据中心之间的通信通过浮动 IP 地址进行。

  • NetScaler Console 本地代理不支持池化许可。

从 NetScaler Console 12.1 或更高版本开始,可以将实例配置为使用代理与位于不同数据中心的主 NetScaler Console 进行通信。

代理充当主 NetScaler Console 与不同数据中心中发现的实例之间的中间人。安装代理的好处如下:

  • 实例配置为代理,因此未处理的数据直接发送到代理而不是主 NetScaler Console。代理执行第一级数据处理,并以压缩格式将处理后的数据发送到主 NetScaler Console 进行存储。

  • 代理和实例位于同一数据中心,因此数据处理速度更快。

  • 代理集群可在代理故障转移时重新分配 NetScaler 实例。当站点中的一个代理发生故障时,来自 NetScaler 实例的流量将切换到同一站点中的另一个可用代理。

    注意

    每个站点要安装的代理数量取决于正在处理的流量。

体系结构

下图显示了两个数据中心中的 NetScaler 实例以及使用基于多站点代理的体系结构的 NetScaler Console 高可用性部署。

Multisite-architecture

主站点部署了高可用性配置的 NetScaler Console 节点。主站点中的 NetScaler 实例直接注册到 NetScaler Console。

在辅助站点中,代理部署并注册到主站点中的 NetScaler Console 服务器。这些代理以集群方式工作,以处理持续的流量,以防代理故障转移发生。辅助站点中的 NetScaler 实例通过位于该站点内的代理注册到主 NetScaler Console 服务器。实例直接将数据发送到代理而不是主 NetScaler Console。代理处理从实例接收到的数据,并以压缩格式将其发送到主 NetScaler Console。代理通过安全通道与 NetScaler Console 服务器通信,通过通道发送的数据经过压缩以提高带宽效率。

入门

  • 在数据中心安装代理

    • 注册代理

    • 将代理附加到站点

  • 添加 NetScaler 实例

    • 添加新实例

    • 更新现有实例

在数据中心安装代理

您可以安装和配置代理,以在主 NetScaler Console 与另一个数据中心中受管的 NetScaler 实例之间启用通信。

您可以在企业数据中心中的以下虚拟机管理程序上安装代理:

  • Citrix Hypervisor™

  • VMware ESXi

  • Microsoft Hyper-V

  • Linux KVM Server

注意

多站点部署的本地代理仅支持 NetScaler Console 高可用性部署。

在开始安装代理之前,请确保您拥有虚拟机管理程序必须为每个代理提供的所需虚拟计算资源。

组件 要求
RAM 32 GB
虚拟 CPU 8 CPUs
存储空间 30 GB
虚拟网络接口 1
吞吐量 1 Gbps

端口

为了通信目的,代理与 NetScaler Console 本地服务器之间必须打开以下端口。

类型 端口 详细信息 通信方向
TCP 8443, 7443, 443 用于代理与 NetScaler Console 本地服务器之间的出站和入站通信。 NetScaler 代理到 NetScaler Console

代理与 NetScaler 实例之间必须打开以下端口。

类型 端口 详细信息 通信方向
TCP 80 用于代理与 NetScaler 实例之间的 NITRO 通信。 NetScaler Console 到 NetScaler 和 NetScaler 到 NetScaler Console
TCP 22 用于代理与 NetScaler 实例之间的 SSH 通信。用于高可用性模式下部署的 NetScaler Console 服务器之间的同步。 NetScaler Console 到 NetScaler 和 NetScaler 代理到 NetScaler
UDP 4739 用于代理与 NetScaler 实例之间的 AppFlow 通信。 NetScaler 到 NetScaler Console
ICMP 无保留端口 用于检测 NetScaler Console 与 NetScaler 实例之间,或高可用性模式下部署的辅助 NetScaler Console 服务器之间的网络可达性。  
UDP 161, 162 用于从 NetScaler 实例接收 SNMP 事件到代理。 端口 161 - NetScaler Console 到 NetScaler
      端口 162 - NetScaler 到 NetScaler Console
UDP 514 用于从 NetScaler 实例接收 syslog 消息到代理。 NetScaler 到 NetScaler Console
TCP 5557 用于代理与 NetScaler 实例之间的 Logstream 通信。 NetScaler 到 NetScaler Console

注册代理

  1. 使用从 NetScaler 站点下载的代理映像文件,并将其导入到您的虚拟机管理程序中。代理映像文件的命名模式如下:MASAGENT-<HYPERVISOR>-<Version.no>. 例如:MASAGENT-XEN-13.0-xy.xva

  2. 从“控制台”选项卡中,使用初始网络配置配置 NetScaler Console。

  3. 输入 NetScaler Console 主机名、IPv4 地址和网关 IPv4 地址。选择选项 7 以保存并退出配置。

    Register 1

  4. 注册成功后,控制台会提示登录。使用 nsrecover/nsroot 作为凭据。

  5. 要注册代理,请输入 /mps/register_agent_onprem.py。NetScaler 代理注册凭据将显示,如下图所示。

  6. 输入 NetScaler Console 浮动 IP 地址和用户凭据。

    Register 2

注册成功后,代理将重新启动以完成安装过程。

代理重新启动后,访问 NetScaler Console GUI,从主菜单转到“基础结构 > 实例 > 代理”页面以验证代理的状态。新添加的代理显示为“启动”状态。

注意

NetScaler Console 显示代理的版本,并检查代理是否为最新版本。下载图标表示代理不是最新版本,需要升级。我们建议您将代理版本升级到 NetScaler Console 版本。

将代理附加到站点

  1. 选择代理,然后单击“附加站点”。

  2. 在“附加站点”页面中,从列表中选择一个站点,或使用加号 (+) 按钮创建站点。

  3. 单击“保存”。

    注意

    • 默认情况下,所有新注册的代理都将添加到默认数据中心。

    • 将代理与正确的站点关联非常重要。如果代理发生故障,分配给它的 NetScaler 实例将自动切换到同一站点中的其他正常运行的代理。

代理操作

在“基础结构 > 代理 > 选择操作”下,您可以对代理应用各种操作。

在“选择操作”下,您可以使用以下功能:

安装新证书:如果您需要不同的代理证书来满足安全要求,可以添加一个。

更改默认密码:为确保基础结构的安全,请更改代理的默认密码。

生成技术支持文件:为选定的 NetScaler 代理生成技术支持文件。您可以下载此文件并将其发送给 Citrix 技术支持以进行调查和故障排除。

添加 NetScaler 实例

实例是您希望通过代理从 NetScaler Console 发现、管理和监控的 NetScaler 设备或虚拟设备。您可以将以下 NetScaler 设备和虚拟设备添加到 NetScaler Console 或代理:

  • NetScaler MPX

  • NetScaler VPX

  • NetScaler SDX

  • NetScaler CPX

  • NetScaler Gateway

  • Citrix SSL Forward Proxy

有关详细信息,请参阅 将实例添加到 NetScaler Console

将现有实例附加到代理

如果实例已添加到主 NetScaler Console,您可以通过编辑代理将其附加到代理。

  1. 导航到“基础结构 > 实例”,然后选择实例类型。例如,NetScaler。

  2. 单击“编辑”以编辑现有实例。

  3. 单击以选择代理。

  4. 在“代理”页面中,选择要与实例关联的代理,然后单击“确定”。

    注意

    确保选择要与实例关联的“站点”。

访问实例 GUI 以验证事件

添加实例并配置代理后,访问实例的 GUI 以检查是否已配置陷阱目标。

在 NetScaler Console 中,导航到“基础结构 > 实例”。在“实例”下,选择要访问的实例类型(例如,NetScaler VPX),然后单击特定实例的 IP 地址。

所选实例的 GUI 将显示在一个弹出窗口中。

默认情况下,代理在实例上配置为陷阱目标。要确认,请登录实例的 GUI 并检查陷阱目标。

重要

建议为远程数据中心中的 NetScaler 实例添加代理,但这不是强制性的。

如果您想将实例直接添加到主 MAS,请在添加实例时不要选择代理

NetScaler 代理故障转移

代理故障转移可能发生在具有两个或更多注册代理的站点中。当站点中的代理变为非活动状态(DOWN 状态)时,NetScaler Console 会将非活动代理的 NetScaler 实例重新分配给其他活动代理。

重要

  • 确保您的帐户已启用“代理故障转移”功能。要启用此功能,请参阅 启用或禁用 NetScaler Console 功能

  • 如果代理正在运行脚本,请确保该脚本存在于站点中的所有代理上。因此,更改后的代理可以在代理故障转移后运行脚本。

要在 NetScaler Console GUI 中将站点附加到代理,请参阅 将代理附加到站点

要实现代理故障转移,请逐个选择 NetScaler 代理并将其附加到同一站点。

例如,两个代理 10.106.1xx.2x 和 10.106.1xx.3x 已附加并在班加罗尔站点运行。如果一个代理变为非活动状态,NetScaler Console 会检测到它并将其状态显示为“关闭”。

当 NetScaler 代理在站点中变为非活动状态(关闭状态)时,NetScaler Console 会等待五分钟,直到代理变为活动状态(启动状态)。如果代理仍处于非活动状态,NetScaler Console 会自动将实例重新分配给同一站点中的可用代理。

NetScaler Console 每 30 分钟触发一次实例重新分配,以平衡站点中活动代理之间的负载。

配置代理不可达阈值和通知

如果代理在特定持续时间内处于关闭或不可达状态,您可以通过电子邮件、Slack、PagerDuty 和 ServiceNow 获取代理状态通知。在“基础结构 > 实例 > 代理”中,单击“设置”,指定 5 分钟到 60 分钟之间的持续时间,然后选择您希望接收通知的方式。

Agent threshold notification

NetScaler® Console 代理与 NetScaler Console 之间的安全通信

NetScaler Console 代理与 NetScaler Console 之间的安全通信适用于 14.1-34.x 或更高版本。您可以通过验证 Console 服务器 SSL 证书来启用此安全通信。以前,NetScaler Console 代理与 NetScaler Console 本地服务器之间的通信未验证 Console 服务器 SSL 证书,从而导致潜在的安全漏洞。

要启用此安全通信:

  1. 确保 NetScaler Console 已配置 SSL 证书。

  2. 登录到 NetScaler Console 代理。

  3. 将 CA 根证书放置在 /mpsconfig/console_onprem_cacert。这用于验证服务器证书。CA 根证书的名称必须是 cacert.pem

  4. 通过运行以下命令配置安全通信。 Configure_secure_communication_with_server.py

  5. 这将提示输入 NetScaler Console 服务器的 FQDN(完全限定域名)或 IP 地址。

  6. 输入 FQDN 或 IP 地址以完成脚本执行。

    Secure communication

  7. 脚本使用提供的 CA 根证书验证 FQDN 或 IP 地址提供的服务器证书。如果证书验证通过,则启用安全通信。

  8. 此脚本可以在代理注册到 NetScaler Console 之前或之后调用。

注意:

这仅适用于基于 VM 的代理。

配置本地代理以进行多站点部署