在 Azure Stack HCI 和 Windows Server 上的 Azure Kubernetes 服务中创建并使用自定义负载均衡器

本文介绍如何创建和使用自定义负载均衡器。 在 Azure Stack HCI 和 Windows Server 上的 Azure Kubernetes 服务 (AKS) 中,使用负载均衡器将请求发送到 Kubernetes API 服务器,并管理到应用程序服务的流量。 使用自定义负载均衡器时,kube-vip 会自动部署,以管理对 Kubernetes API 服务器的请求的负载均衡,并确保其高度可用。

注意

还可以使用其他负载均衡器,例如 MetalLB 或软件定义的网络 (SDN) 负载均衡,对到应用程序服务的流量进行负载均衡。

准备阶段

必须已安装 Azure Stack HCI 和 Windows Server 上的 AKS,并已在安装过程中执行网络配置步骤时为负载均衡器提供了一系列虚拟 IP 地址。

配置自定义负载均衡器

警告

如果选择部署自己的负载均衡器,则在安装后将无法访问 Kubernetes 群集。 如果使用 type=LoadBalancer 部署任何服务,则在配置负载均衡器之前,这些服务也将无法访问。

此配置假设你要在群集中利用自定义负载均衡器。 在这种情况下,将部署没有负载均衡器的工作负载群集。

  1. 使用 New-AksHciLoadBalancerSetting cmdlet 创建负载均衡器配置,然后为 loadBalancerSku 参数选择 none

    $lbCfg=New-AksHciLoadBalancerSetting -name "myLb" -loadBalancerSku "none" 
    
  2. 使用以下命令在不提供负载均衡器配置的情况下部署工作负载群集:

    New-AksHciCluster -name "summertime" -nodePoolName mynodepool -nodeCount 2 -OSType linux -nodeVmSize Standard_A4_v2 -loadBalancerSettings $lbCfg 
    
  3. 使用 Get-AksHciCluster 验证群集已成功部署,控制平面节点运行 kube-vip,并且 API 服务器请求可访问。

  4. 手动配置负载均衡器。

如果运行升级,则在安装过程中定义的负载均衡器配置(loadBalancerSkucount)在升级完成后将保持不变。 但是,如果想在升级期间更新 loadBalancerSku,必须重新部署工作负载群集。 如果有运行基于 HAProxy 的负载均衡器的现有群集,则可以继续运行工作负载,升级将成功完成。

重要

如果从使用自定义负载均衡器更改为使用默认负载均衡器,则需要使用新的负载均衡器配置重新部署工作负载群集。 有关如何配置默认负载均衡器的说明,请参阅配置负载均衡器

后续步骤

要详细了解 Kubernetes 服务,请参阅 Kubernetes 服务文档