Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Overview of the ACK One ALB multi-cluster gateway

Última atualização: Jun 27, 2026

Os gateways multicluster ALB estendem o ALB Ingress para abranger vários clusters gerenciados pela Distributed Cloud Container Platform for Kubernetes (ACK One). Uma única instância de Application Load Balancer (ALB) atua como ponto de entrada unificado e distribui tráfego para Services de backend em todos os clusters associados. Na maioria dos casos, você pode usar os gateways multicluster ALB da mesma forma que o modo de cluster único do ALB Ingress, exceto por algumas diferenças específicas.

Por que usar gateways multicluster

Executar uma única instância ALB em vários clusters oferece as seguintes capacidades adicionais em relação a uma implantação de ALB Ingress de cluster único:

  • Isolamento de falhas: O tráfego se distribui por vários clusters; assim, o impacto de uma falha em um único cluster fica restrito a ele.

  • Gerenciamento unificado de tráfego: Gerencie regras de roteamento, listeners e balanceamento de carga em um único local, em vez de manter configurações de Ingress separadas por cluster.

  • Ingress consistente: Aplique os mesmos recursos do ALB — Auto Scaling, operação totalmente gerenciada e gerenciamento sem O&M — em todos os clusters da sua instância Fleet.

Como funciona

image

A arquitetura separa as responsabilidades do plano de controle e do plano de dados:

  • Plano de controle — controlador ALB Ingress: Monitora o servidor de API em busca de alterações nos resources de Ingress e atualiza a configuração da instância ALB com base nas regras de roteamento. O controlador gerencia a instância ALB, mas não distribui o tráfego.

  • Plano de dados — instância ALB: Recebe e distribui o tráfego de entrada para os Services de backend em todos os clusters associados, seguindo as regras configuradas pelo controlador.

Os componentes abaixo trabalham em conjunto para definir e rotear o tráfego:

  • AlbConfig: CustomResourceDefinition (CRD) criado pelo controlador ALB Ingress para definir a configuração da instância ALB. Cada AlbConfig mapeia exatamente uma instância ALB. No modo multicluster, a anotação alb.ingress.kubernetes.io/remote-clusters no AlbConfig especifica quais clusters a instância ALB atende.

  • IngressClass: Identifica qual controlador de Ingress processa um determinado resource de Ingress e permite a coexistência de múltiplos controladores no mesmo cluster.

  • Ingress: Define regras de roteamento de tráfego externo e de controle de acesso. O controlador ALB Ingress monitora alterações no Ingress e atualiza a instância ALB adequadamente.

  • Service: Fornece um endereço IP virtual e porta estáveis para um grupo de pods. A instância ALB roteia o tráfego para os Services sem precisar detectar alterações individuais nos pods.

Limitações

O modo multicluster suporta a maioria dos recursos do ALB Ingress, com uma exceção: não é possível usar simultaneamente a divisão de tráfego por peso e o canary release no modo multicluster.

Recurso

Modo de cluster único

Modo multicluster

Divisão de tráfego por peso + canary release simultaneamente

Suportado

Não suportado

Para obter a lista completa de anotações suportadas, consulte Anotações suportadas por ALB Ingresses.

Configurar um AlbConfig

Crie um AlbConfig com a anotação alb.ingress.kubernetes.io/remote-clusters para associar clusters à instância ALB.

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: ackone-gateway-demo
  annotations:
    # Specify the cluster IDs associated with this ALB multi-cluster gateway.
    alb.ingress.kubernetes.io/remote-clusters: ${cluster1},${cluster2}
spec:
  config:
    name: one-alb-demo
    addressType: Internet
    addressAllocatedMode: Fixed
    zoneMappings:
    - vSwitchId: ${vsw-id1}
    - vSwitchId: ${vsw-id2}
  listeners:
  - port: 8001
    protocol: HTTP

Substitua os placeholders a seguir pelos valores reais:

Placeholder

Descrição

${cluster1},${cluster2}

IDs dos clusters associados à sua instância Fleet

${vsw-id1}, ${vsw-id2}

IDs dos vSwitches nas zonas onde a instância ALB está implantada

A tabela a seguir descreve os principais parâmetros:

Parâmetro

Obrigatório

Descrição

metadata.name

Sim

Nome do AlbConfig.

metadata.annotations: alb.ingress.kubernetes.io/remote-clusters

Sim

Lista separada por vírgulas de IDs de cluster a serem adicionados ao gateway multicluster ALB. Os clusters já devem estar associados à instância Fleet.

spec.config.name

Não

Nome da instância ALB.

spec.config.addressType

Não

Tipo de rede da instância ALB. Valores válidos: Internet (padrão) — a instância ALB é acessível pela internet e requer um endereço IP elástico (EIP) associado; Intranet — a instância ALB é acessível apenas dentro da VPC. Ao usar Internet, há cobrança de taxas de instância e de largura de banda ou transferência de dados dos EIPs associados. Para detalhes de preços, consulte Pagamento conforme o uso.

spec.config.zoneMappings

Sim

IDs dos vSwitches para as zonas onde a instância ALB está implantada. Os vSwitches devem estar em zonas suportadas pelo ALB e na mesma VPC dos clusters. Se a região oferecer suporte a duas ou mais zonas, especifique vSwitches em pelo menos duas zonas para garantir alta disponibilidade. Para regiões e zonas suportadas, consulte Regiões e zonas. Para instruções sobre como criar um vSwitch, consulte Criar e gerenciar um vSwitch.

spec.listeners

Não

Porta e protocolo do listener. O exemplo acima configura um listener HTTP na porta 8001. Um listener define como a instância ALB recebe o tráfego. Inclua um listener no AlbConfig; caso contrário, crie um manualmente antes de usar ALB Ingresses.

Para obter a lista completa de campos do AlbConfig, consulte Dicionário GlobalConfiguration do ALB Ingress. Para exemplos de configuração, consulte Configurar instâncias e listeners ALB.

Próximos passos