4.7. 创建 Azure 内部负载均衡器


要确保没有响应健康探测请求的集群节点已被删除,您可以创建一个 Azure 内部负载均衡器。使用自定义用于高可用性(HA)集群的设置来配置负载均衡器。

先决条件

流程

  1. 从 HA 集群中的任何节点登录到您的 Azure 帐户:

    $ az login
  2. 使用动态私有前端 IP 地址创建基本内部负载均衡器:

    $ az network lb create \
    --resource-group <resource_group> \
    --name <load_balancer_name> \
    --sku Basic \
    --vnet-name <vnet_name> \
    --subnet <subnet_name> \
    --frontend-ip-name <frontend_ip_name> \
    --backend-pool-name <backend_pool_name>

    不要指定 --private-ip-address,因此 Azure 会从子网动态分配前端 IP 地址。

    示例:

    $ az network lb create \
    --resource-group azrhelclirsgrp \
      --name rhelha-lb1 \
    --sku Basic \
    --vnet-name azrhelclivnet1 \
    --subnet azrhelclisubnet1 \
    --frontend-ip-name rhelha-frontend1 \
    --backend-pool-name rhelha-backend1
  3. 将 backend 池与包含集群节点的可用性集关联:

    不要将单个 IP 地址添加到后端池中。将可用性集中的每个虚拟机(VM)的网络接口添加到后端池:

    $ for vm in $(az vm list-instances \
    --resource-group "<resource_group>" \
    --name "<availability_set>" \
    --query "[].name" -o tsv); do
    nic=$(az vm show \
    --resource-group "<resource_group>" \
    --name "$vm" \
    --query "networkProfile.networkInterfaces[0].id" -o tsv | xargs basename)
    az network nic ip-config address-pool add \
    --resource-group "<resource_group>" \
    --lb-name "<load_balancer_name>" \
    --address-pool "<backend_pool_name>" \
    --nic-name "$nic" \
    --ip-config-name "ipconfig1"
    done

    <ip_config_name > 替换为每个集群节点网络接口上的 IP 配置名称,如 ipconfig1

  4. 在端口 61000 上创建 TCP 健康探测:

    $ az network lb probe create \
    --resource-group <resource_group> \
    --lb-name <load_balancer_name> \
    --name <health_probe_name> \
    --protocol Tcp \
    --port 61000

    您可以使用不会影响到另一个服务的任何 TCP 端口号。

    注意

    对于某些 HA 产品应用程序(例如,SAP 高性能分析设备(HANA)和 SQL Server),您需要与 Microsoft 合作以确定要使用的正确端口。

    示例:

    $ az network lb probe create \
    --resource-group azrhelclirsgrp \
    --lb-name rhelha-lb1 \
    --name rhelha-probe1 \
    --protocol Tcp \
    --port 61000
  5. 创建启用了浮动 IP 的负载均衡规则:

    $ az network lb rule create \
    --resource-group <resource_group> \
    --lb-name <load_balancer_name> \
    --name <load_balancer_rule_name> \
    --protocol Tcp \
    --frontend-port 61000 \
    --backend-port 61000 \
    --frontend-ip-name <frontend_ip_name> \
    --backend-pool-name <backend_pool_name> \
    --probe-name <health_probe_name> \
    --floating-ip true

    使用与健康探测相同的前端和后端端口值,除非 HA 应用程序需要不同的端口。

    示例:

    $ az network lb rule create \
    --resource-group azrhelclirsgrp \
    --lb-name rhelha-lb1 \
    --name rhelha-rule1 \
    --protocol Tcp \
    --frontend-port 61000 \
    --backend-port 61000 \
    --frontend-ip-name rhelha-frontend1 \
    --backend-pool-name rhelha-backend1 \
    --probe-name rhelha-probe1 \
    --floating-ip true

验证

  • 验证负载均衡器及其前端 IP 地址是否已成功创建:

    $ az network lb show \
    --resource-group <resource_group> \
    --name <load_balancer_name> \
    --query "{name:name, sku:sku.name, provisioningState:provisioningState}" \
    --output table
    $ az network lb frontend-ip list \
    --resource-group <resource_group> \
    --lb-name <load_balancer_name> \
    --output table

    示例:

    $ az network lb show \
    --resource-group azrhelclirsgrp \
    --name rhelha-lb1 \
    --query "{name:name, sku:sku.name, provisioningState:provisioningState}" \
    --output table
    $ az network lb frontend-ip list \
    --resource-group azrhelclirsgrp \
    --lb-name rhelha-lb1 \
    --output table
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部