Citrix ADC

在 Google 云端平台上部署具有外部静态 IP 地址的 VPX 高可用性对

您可以使用外部静态 IP 地址在 GCP 上部署 VPX 高可用性对。主节点的客户端 IP 地址必须绑定到外部静态 IP 地址。故障切换后,外部静态 IP 地址将移动到辅助节点以恢复流量。

静态外部 IP 地址是为项目保留的外部 IP 地址,直到您决定释放该地址为止。如果您使用 IP 地址访问服务,则可以保留该 IP 地址,以便只有您的项目才能使用该 IP 地址。有关详细信息,请参阅保留静态外部 IP 地址

有关 HA 的更多信息,请参阅高可用性

准备工作

  • 阅读中提到的限制、硬件要求、注意事项在 Google 云端平台上部署 Citrix ADC VPX 实例。此信息也适用于 HA 部署。

  • 为您的 GCP 项目启用 云资源管理器 API
  • 在创建实例时允许对所有云 API 进行完全访问。 完全访问云 API

  • 确保与您的 GCP 服务账户关联的 IAM 角色具有以下 IAM 权限:

     REQUIRED_INSTANCE_IAM_PERMS = [
    
     "compute.addresses.use",
     “compute.forwardingRules.list”,
     “compute.forwardingRules.setTarget”,
     “compute.instances.setMetadata”
     "compute.instances.addAccessConfig",
     "compute.instances.deleteAccessConfig",
     "compute.instances.get",
     "Compute.instances.list",
     "compute.networks.useExternalIp",
     "compute.subnetworks.useExternalIp",
     “compute.targetInstances.list”,
     “compute.targetInstances.use”,
     "compute.zones.list",
     ]
    
  • 如果您在管理接口以外的接口上配置了别名 IP 地址,请确保您的 GCP 服务账户具有以下附加 IAM 权限:

     "compute.instances.updateNetworkInterface"
    
  • 如果已在主节点上配置了 GCP 转发规则,请阅读 GCP 上支持 VPX 高可用性对的转发规则 中提到的限制和要求,以便在故障转移时将其更新为新的主节点。

如何在 Google Cloud Platform 上部署 VPX HA 对

以下是 HA 部署步骤的摘要:

  1. 在同一地区创建 VPC 网络。例如,亚洲东部。
  2. 在同一区域上创建两个 VPX 实例(主节点和辅助节点)。它们可以位于同一区域或不同区域。例如亚洲东部 1a 和亚洲东部 IB。
  3. 使用 Citrix ADC GUI 或 ADC CLI 命令在两个实例上配置 HA 设置。

步骤 1. 创建 VPC 网络

根据您的要求创建 VPC 网络。Citrix 建议您创建三个 VPC 网络,用于与管理 NIC、客户端 NIC 和服务器 NIC 关联。

要创建 VPC 网络,请执行以下步骤:

  1. 登录 Google 控制台 > 网络 > VPC 网络 > 创建 VPC 网络
  2. 填写必填字段,然后单击 创建

有关更多信息,请参阅在 Google 云端平台上部署 Citrix ADC VPX 实例中的创建 VPC 网络部分。

步骤 2. 创建两个 VPX 实例

按照中给出的步骤创建两个 VPX 实例场景:部署多网卡、多 IP 独立 VPX 实例

重要

为主节点的客户端 IP 地址 (VIP) 分配静态外部 IP 地址。您可以使用现有的保留 IP 地址或创建新的 IP 地址。要创建静态外部 IP 地址,请导航到 网络接口 > 外部 IP,单击 创建 IP 地址

外部静态 IP

故障转移后,当旧的主服务器成为新的辅助服务器时,静态外部 IP 地址将从旧的主服务器移动并附加到新的主服务器。有关更多信息,请参阅 Google 云文档保留静态外部 IP 地址

配置 VPX 实例后,您可以配置 VIP 和 SNIP 地址。有关详细信息,请参阅配置 Citrix ADC 拥有的 IP 地址

步骤 3. 配置高可用性功能

在 Google Cloud Platform 上创建实例后,您可以使用面向 CLI 的 Citrix ADC GUI 来配置 HA。

使用 GUI 配置 HA

步骤 1。在两个实例上设置 INC 模式下的高可用性。

主节点上,执行以下步骤:

  1. 使用 GCP 控制台中节点的用户名 nsroot 和实例 ID 作为密码登录实例。
  2. 导航到 配置 > 系统 > 高可用性 > 节点,然后单击 添加
  3. 远程节点 IP 地址 字段中,输入辅助节点的管理 NIC 的私有 IP 地址。
  4. 选中在自我节点上打开 INC(独立网络配置)模式复选框。
  5. 单击创建

辅助节点上,执行以下步骤:

  1. 使用 GCP 控制台中节点的用户名 nsroot 和实例 ID 作为密码登录实例。
  2. 导航到 配置 > 系统 > 高可用性 > 节点,然后单击 添加
  3. 远程节点 IP 地址字段中,输入主节点管理 NIC 的私有 IP 地址。
  4. 选中在自我节点上打开 INC(独立网络配置)模式复选框。
  5. 单击创建

继续操作之前,请确保辅助节点的“同步”状态在节点页面中显示为成功

次级节点同步状态

注意

现在,辅助节点具有与主节点相同的登录凭据。

第 2 步。在两个节点上添加虚拟 IP 地址和子网 IP 地址。

主节点上,执行以下步骤:

  1. 导航到系统”>“网络”>“IP”>“IPv4,然后单击添加
  2. 按照以下步骤添加主要 VIP 地址:
    1. 输入主实例面向客户端的接口的内部 IP 地址和虚拟机实例中为客户端子网配置的网络掩码。
    2. IP 类型字段中,从下拉菜单中选择虚拟 IP
    3. 单击创建
  3. 按照以下步骤添加主 SNIP 地址:
    1. 输入辅助实例面向客户端的接口的内部 IP 地址以及为主实例中的服务器子网配置的网络掩码。
    2. IP 类型字段中,从下拉菜单中选择子网 IP
    3. 单击创建
  4. 按照以下步骤添加辅助 VIP 地址:
    1. 输入辅助实例的面向客户端的接口的内部 IP 地址以及为虚拟机实例中的客户端子网配置的网络掩码。
    2. IP 类型字段中,从下拉菜单中选择虚拟 IP
    3. 单击创建

在主节点上创建 VIP 和 SNIP

辅助节点上,执行以下步骤:

  1. 导航到系统”>“网络”>“IP”>“IPv4,然后单击添加
  2. 按照以下步骤添加辅助 VIP 地址:
    1. 输入辅助实例的面向客户端的接口的内部 IP 地址以及为虚拟机实例中的客户端子网配置的网络掩码。
    2. IP 类型字段中,从下拉菜单中选择虚拟 IP
  3. 按照以下步骤添加辅助 SNIP 地址:
    1. 输入辅助实例的面向服务器的接口的内部 IP 地址以及在辅助实例中为服务器子网配置的网络掩码。
    2. IP 类型字段中,从下拉菜单中选择子网 IP
    3. 单击创建

在辅助节点上创建 VIP 和 SNIP

步骤 3. 在两个实例上添加 IP 集并将 IP 集绑定到辅助 VIP。

主节点上,执行以下步骤:

  1. 导航到系统”>“网络”>“IP 集”>“添加”
  2. 添加 IP 集名称,然后单击 插入
  3. IPv4s 页面中,选择虚拟 IP(辅助 VIP),然后单击插入
  4. 单击创建以创建 IP 集。

创建主 IP 集

辅助节点上,执行以下步骤:

  1. 导航到系统”>“网络”>“IP 集”>“添加”
  2. 添加 IP 集名称,然后单击 插入
  3. IPv4s 页面中,选择虚拟 IP(辅助 VIP),然后单击插入
  4. 单击创建以创建 IP 集。

创建辅助 IP 集

注意

两个实例上的 IP 集名称必须相同。

步骤 4. 在主实例上添加负载平衡虚拟服务器。

  1. 导航到配置 > 流量管理 > 负载平衡 > 虚拟服务器 > 添加
  2. 添加名称、协议、IP 地址类型(IP 地址)、IP 地址(主 VIP)和端口所需的值。

    在主实例上进行负载平衡虚拟服务器

  3. 点击 更多。导航到 IP 范围 IP 集设置,从下拉菜单中选择 IPSet ,然后提供在 步骤 3中创建的 IPSet。
  4. 单击 确定 创建负载平衡虚拟服务器。

第 5 步。在主节点上添加服务或服务组。

  1. 导航到配置 > 流量管理 > 负载平衡 > 服务 > 添加
  2. 添加服务名称、IP 地址、协议和端口所需的值,然后单击确定

第 6 步。将服务或服务组绑定到主节点上的负载平衡虚拟服务器。

  1. 导航到配置 > 流量管理 > 负载平衡 > 虚拟服务器
  2. 选择在 步骤 4中配置的负载平衡虚拟服务器,然后单击 编辑
  3. 服务和服务组选项卡中,单击无负载平衡虚拟服务器服务绑定
  4. 选择在 步骤 5中配置的服务,然后单击 绑定

保存配置。强制故障转移后,辅助设备将成为新的主设备。旧主 VIP 的外部静态 IP 移动到新的辅助 VIP。

使用 CLI 配置高可用性

步骤 1。在两个实例中,在 INC 模式下设置高可用性。

在主节点上,键入以下命令。

add ha node 1 <sec_ip> -inc ENABLED

在辅助节点上,键入以下命令。

add ha node 1 <prim_ip> -inc ENABLED

sec_ip 是指辅助节点的管理网卡的内部 IP 地址。

prim_ip 是指主节点管理 NIC 的内部 IP 地址。

第 2 步。在两个节点上添加虚拟 IP 和子网 IP。

在主节点上,键入以下命令。

add ns ip <primary_vip> <subnet> -type VIP

add ns ip <secondary_vip> <subnet> -type VIP

add ns ip <primary_snip> <subnet> -type SNIP

primary_vip 指主实例面向客户端的接口的内部 IP 地址。

secondary_vip 指辅助实例面向客户端的接 口的内部 IP 地址。

primary_snip 是指主实例面向服务器的接口的内部 IP 地址。

在辅助节点上,键入以下命令。

add ns ip <secondary_vip> <subnet> -type VIP

add ns ip <secondary_snip> <subnet> -type SNIP

secondary_vip 指辅助实例面向客户端的接口的内部 IP 地址。

primary_snip 是指主实例面向服务器的接口的内部 IP 地址。

第 2 步。在两个实例上添加 IP 集并将 IP 集绑定到辅助 VIP。

在主节点上,键入以下命令:

add ipset <ipsetname>
bind ipset <ipsetname> <secondary VIP>

在辅助节点上,键入以下命令:

add ipset <ipsetname>
bind ipset <ipsetname> <secondary VIP>

注意

两个实例上的 IP 集名称必须相同。

步骤 4. 在主实例上添加虚拟服务器。

键入以下命令:

add <server_type> vserver <vserver_name> <protocol> <primary_vip> <port> -ipset <ipset_name>

第 5 步。在主实例上添加服务或服务组。

键入以下命令:

add service <service_name> <service_ip_address> <protocol> <port>

第 6 步。将服务/服务组绑定到主实例上的负载平衡虚拟服务器。

键入以下命令:

bind <server_type> vserver <vserver_name> <service_name>

注意

要保存配置,请键入命令save config。否则,重新启动实例后,配置将丢失。

第 7 步。验证配置。

确保连接到主客户端 NIC 的外部 IP 地址在故障切换时移至辅助网卡。

  1. 向外部 IP 地址发出 cURL 请求,并确保它可以访问。
  2. 在主实例上,执行故障转移:

    从 GUI 中,导航到 配置 > 系统 > 高可用性 > 操作 > 强制故障切换

    在 CLI 中,键入以下命令:

    force ha failover -f
    

    在 GCP 控制台上,转到辅助实例。故障切换后,外部 IP 地址必须移至辅助的客户端网卡。

  3. 向外部 IP 发出 cURL 请求并确保可以再次访问该请求。
在 Google 云端平台上部署具有外部静态 IP 地址的 VPX 高可用性对