Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Gerenciar workloads em nós ACK CloudBox com ASM

Última atualização: Jun 28, 2026

O CloudBox é um serviço de nuvem totalmente gerenciado que integra hardware e software da Alibaba Cloud — incluindo recursos de computação, armazenamento e rede — ao seu data center on-premises. Essa integração oferece segurança de dados, processamento local e acesso de baixa latência. Ao adicionar um cluster ACK com um pool de nós CloudBox ao Service Mesh (ASM), o ASM gerencia o tráfego entre os pools de nós da nuvem pública e do CloudBox com roteamento unificado, políticas de segurança e observabilidade.

As seções a seguir detalham como implantar um gateway de entrada ASM em uma zona CloudBox e verificar a conectividade de ponta a ponta com uma aplicação de exemplo.

Visão geral da implantação

A configuração consiste em três etapas:

  1. Implantar um gateway de entrada na zona CloudBox -- Crie um recurso IstioGateway com anotações de zona para garantir que tanto a instância do Classic Load Balancer (CLB) quanto o pod do gateway fiquem na zona CloudBox.

  2. Implantar uma aplicação e configurar o roteamento -- Agende a aplicação httpbin nos nós CloudBox e direcione o tráfego pelo gateway de entrada.

  3. Verificar a conectividade -- Envie requisições de teste pelo gateway para confirmar que o tráfego chega à aplicação.

Restrições de rede do CloudBox

O CloudBox impõe restrições ao funcionamento de Services do tipo LoadBalancer em comparação com as zonas de nuvem pública. Instâncias CLB em uma zona CloudBox aceitam apenas instâncias Elastic Compute Service (ECS) do CloudBox como backends, enquanto instâncias CLB em zona de nuvem pública aceitam apenas instâncias ECS da nuvem pública. Como as instâncias CLB do CloudBox não suportam associação de Elastic IP Address (EIP), não é possível criar um CLB com acesso público nessa zona.

Capacidade

Zona de nuvem pública

Zona CloudBox

Nós de backend do LoadBalancer

Apenas instâncias ECS da nuvem pública

Apenas instâncias ECS do CloudBox

Associação de EIP ao CLB

Suportado

Não suportado

CLB com acesso público

Suportado

Não suportado

Devido a essas restrições, o CLB do gateway e o pod do gateway devem residir na mesma zona. Um CLB na zona de nuvem pública não consegue rotear tráfego para pods na zona CloudBox, e vice-versa.

Pré-requisitos

Antes de começar, certifique-se de ter:

Implantar um gateway de entrada na zona CloudBox

Para posicionar o gateway na zona CloudBox, configure dois campos na especificação do IstioGateway:

  • **serviceAnnotations** -- Fixa a instância CLB na zona e no virtual switch do CloudBox.

  • **nodeSelector** -- Agenda o pod do gateway em nós da zona CloudBox. Alternativamente, use o campo affinity para regras de agendamento mais avançadas.

O YAML abaixo cria um gateway de entrada com acesso via intranet na zona CloudBox:

apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:
  name: ingressgateway
  namespace: "istio-system"
spec:
  clusterIds:
    - <your-ack-cluster-id>
  externalTrafficPolicy: Local
  gatewayType: ingress
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 443
  replicaCount: 2
  resources:
    limits:
      cpu: '2'
      memory: 2G
    requests:
      cpu: 200m
      memory: 256Mi
  serviceType: LoadBalancer
  serviceAnnotations:
    service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: <cloudbox-vswitch-id>
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid: <cloudbox-zone-id>
  nodeSelector:
    topology.kubernetes.io/zone: <cloudbox-zone-id>
  rollingMaxSurge: "100%"
  rollingMaxUnavailable: "25%"

Substitua os placeholders abaixo pelos seus valores reais:

Placeholder

Descrição

Exemplo

<your-ack-cluster-id>

ID do cluster ACK

c1a2b3c4d5e6f7890

<cloudbox-vswitch-id>

ID do virtual switch na zona CloudBox

vsw-abc123def456

<cloudbox-zone-id>

ID da zona do recurso CloudBox

cn-hangzhou-cloudbox-a

Aplique o YAML usando um destes métodos:

  • kubectl com kubeconfig do ASM: Salve o YAML em um arquivo e execute kubectl apply -f <file>.yaml usando o kubeconfig da instância ASM.

  • Console do ASM: Crie o gateway via YAML no console do ASM. Para mais informações, consulte Usar KubeAPI para gerenciar um gateway de entrada.

Verificar o gateway

Após aplicar o YAML, confirme se o pod do gateway está em execução e se o CLB foi provisionado:

# Check gateway pod status
kubectl get pods -n istio-system -l istio=ingressgateway

# Check the gateway Service and its external IP
kubectl get svc -n istio-system ingressgateway

O pod do gateway deve estar no estado Running e o Service deve ter um IP externo atribuído pelo CLB na zona CloudBox.

Implantar a aplicação e configurar o roteamento

O gateway criado na etapa anterior é exclusivo para intranet e inacessível pela internet pública. Certifique-se de que seu ambiente de teste tenha conectividade com a rede VPC antes de prosseguir.

Siga as etapas em Implantar a aplicação httpbin para:

  1. Implantar a aplicação httpbin no cluster ACK, nos nós CloudBox.

  2. Criar um Gateway e um VirtualService para rotear o tráfego pelo gateway de entrada.

Verificar a conectividade de ponta a ponta

Depois de implantar a aplicação e as regras de roteamento, envie uma requisição de teste pelo gateway:

# Get the gateway IP
GATEWAY_IP=$(kubectl get svc -n istio-system ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')

# Send a test request
curl -I http://$GATEWAY_IP/status/200

Uma resposta bem-sucedida retorna HTTP 200, confirmando que o tráfego flui do gateway para a aplicação httpbin nos nós CloudBox.

Solução de problemas

Sintoma

Causa possível

Resolução

Pod do gateway permanece no estado Pending

Nenhum nó na zona CloudBox corresponde ao nodeSelector

Verifique se o pool de nós CloudBox está íntegro e se o ID da zona no nodeSelector corresponde à zona CloudBox real

CLB não provisionado

O ID do virtual switch ou da zona em serviceAnnotations está incorreto

Confirme se alibaba-cloud-loadbalancer-vswitch-id e alibaba-cloud-loadbalancer-master-zoneid apontam para recursos válidos do CloudBox

Requisição curl expira

Falta de conectividade VPC entre o ambiente de teste e o CLB de intranet

Conecte-se à VPC por VPN, Express Connect ou um jump server dentro da VPC

HTTP 503 do gateway

Pod httpbin não está em execução ou injeção de sidecar desativada

Verifique se o pod httpbin possui um contêiner sidecar e está no estado Running

Tópicos relacionados