Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Usar um NLB para um gateway de entrada do ASM

Última atualização: Jun 28, 2026

O Network Load Balancer (NLB) é um balanceador de carga da camada 4 da Alibaba Cloud que oferece alto desempenho, dimensionamento automático e alta disponibilidade para melhorar a estabilidade do tráfego do gateway. O ASM permite o uso de NLB em seus gateways de entrada. Ao definir o type do Service de um gateway de entrada do ASM como LoadBalancer, o sistema associa um Classic Load Balancer (CLB) por padrão. Este tópico descreve como associar um NLB.

Pré-requisitos

Um cluster ACK foi adicionado a uma instância do ASM e as seguintes condições foram atendidas:

  • O cluster Kubernetes está na versão 1.24 ou posterior e o Cloud Controller Manager (CCM) está na versão 2.5.0 ou posterior.

  • A instância do ASM está na versão 1.18 ou posterior.

  • A VPC do cluster ACK possui vSwitches em pelo menos duas zonas.

Procedimento

  1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

  2. Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

  3. Crie um gateway de entrada usando o console do ASM ou um modelo YAML.

    Console

    Na página Ingress Gateway, clique em Create. Esta seção descreve apenas os parâmetros específicos do NLB. Para obter informações sobre outros parâmetros, consulte Criar um gateway de entrada.

    Parâmetro

    Descrição

    NLB

    Este parâmetro fica disponível somente quando Service Type está definido como LoadBalancer.

    Oferece suporte a Internet Access e Private Access.

    Create SLB Instance

    • O console define Create SLB Instance como padrão, mas você pode selecionar Use Existing CLB Instance conforme necessário.

    • Ao escolher esta opção, selecione vSwitches em pelo menos duas zonas em Select Zones for NLB Instance.

    Use Existing CLB Instance

    Selecione um NLB existente na lista suspensa Select Existing Load Balancer Instance caso opte por este recurso.

    Importante

    Atribua um balanceador de carga dedicado a cada serviço do Kubernetes. O compartilhamento de um balanceador de carga entre vários serviços apresenta os seguintes riscos e limitações:

    • Reutilizar um balanceador de carga existente sobrescreve seus listeners, o que pode causar interrupções na aplicação.

    • Não é possível reutilizar um balanceador de carga criado automaticamente pelo Kubernetes por meio de um Service. Apenas balanceadores criados manualmente no console ou via chamada de OpenAPI são elegíveis para reutilização.

    • Vários serviços que compartilham o mesmo balanceador de carga não podem ter a mesma porta de listener de frontend. Caso contrário, ocorrerá um conflito de porta.

    • Ao reutilizar um balanceador de carga, o Kubernetes usa os nomes do listener e do grupo vServer como identificadores exclusivos. Não modifique esses nomes.

    • Não há suporte para o compartilhamento de um balanceador de carga entre clusters ou regiões diferentes.

    YAML

    Na página Ingress Gateway, clique em Create from YAML, defina o nome do gateway como ingressgateway-nlb-test e selecione istio-system como Namespaces. Em seguida, insira o seguinte YAML.

    No arquivo YAML, defina loadBalancerClass como alibabacloud.com/nlb. Não é necessário especificar uma configuração de NLB, mas você deve definir pelo menos duas zonas.

    YAML

    apiVersion: istio.alibabacloud.com/v1
    kind: IstioGateway
    metadata:
      name: ingressgateway-nlb-test
      namespace: istio-system
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: istio
                  operator: In
                  values:
                  - ingressgateway
              topologyKey: kubernetes.io/hostname
            weight: 1
      autoCreateGatewayYaml: false
      clusterIds:
      - ${YOUR_CLUSTER_ID}
      disableContainerPortExposed: true
      dnsPolicy: ClusterFirst
      externalTrafficPolicy: Local
      gatewayType: ingress
      hostNetwork: false
      ports:
      - name: http-0
        port: 80
        protocol: HTTP
        targetPort: 80
      - name: https-1
        port: 443
        protocol: HTTPS
        targetPort: 443
      replicaCount: 2
      resources:
        limits:
          cpu: "2"
          memory: 4G
        requests:
          cpu: 200m
          memory: 256Mi
      rollingMaxSurge: 25%
      rollingMaxUnavailable: 25%
      runAsRoot: true
      serviceAnnotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain: "on"
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout: "10"
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: ${ZONE_ID_1}:${VSWITCH_ID_1},${ZONE_ID_2}:${VSWITCH_ID_2}	# For example: cn-hangzhou-g:vsw-bp1xxxxxxxxxx,cn-hangzhou-j:vsw-bp1xxxxxxxxxx
      serviceType: LoadBalancer
      loadBalancerClass: alibabacloud.com/nlb

    Após criar o gateway, seus detalhes aparecem na página. Diferentemente de um gateway baseado em CLB, um gateway baseado em NLB utiliza um nome de domínio para seu Service address, e não um endereço IP. Além disso, como duas zonas foram especificadas durante a criação do gateway de entrada, o nome de domínio está vinculado a dois endereços IP.

    Depois que o gateway é criado, visualize as informações da instância na página do gateway de entrada. Esses dados incluem o nome do gateway (como ingressgateway-nlb-test), status, versão, ID do cluster, endereço do serviço (nome de domínio do NLB) e mapeamento de portas (como HTTP | 80:80 e HTTPS | 443:443). A página também fornece links para operações de gerenciamento, como Edit Gateway, View Details, View YAML e Delete, além de recursos avançados e opções de observabilidade, como Gateway Security, Log Center e Gateway Monitoring.

    Acesse o console do NLB para verificar o status da instância do NLB. Para mais informações sobre o NLB, consulte Configurar uma instância de NLB usando anotações e Faturamento do NLB.