Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Conectar um plano de controle do ASM a um cluster de plano de dados entre VPCs via PrivateLink

Última atualização: Jun 28, 2026

Quando uma instância do Service Mesh (ASM) e um cluster do Container Service for Kubernetes (ACK) no plano de dados residem em diferentes virtual private clouds (VPCs) na mesma região, é necessária uma conectividade privada entre eles. O PrivateLink estabelece essa conectividade sem expor o tráfego à internet pública.

O ASM fornece a CustomResourceDefinition (CRD) ASMPvlConfig para automatizar a configuração do PrivateLink. Defina um único recurso YAML para que o ASM crie e gerencie os serviços de endpoint e endpoints subjacentes.

Como funciona

O plano de controle do ASM e o cluster de plano de dados do ACK se comunicam por dois canais separados. Ao aplicar o recurso ASMPvlConfig, o ASM cria uma conexão PrivateLink para cada canal:

Conexão

Finalidade

Localização do serviço de endpoint

Localização do endpoint

Servidor de API

Permite que o plano de controle do ASM alcance o servidor de API do cluster ACK

Instância do Server Load Balancer (SLB) do cluster ACK

VPC do ASM

Pilot

Permite que os sidecars do plano de dados recebam configurações do plano de controle do ASM (Istio Pilot)

Instância de SLB da instância do ASM

VPC do ACK

Cada conexão PrivateLink requer um endpoint na mesma zona de disponibilidade do serviço de endpoint de destino. Como o serviço de endpoint para o servidor de API do ACK está na zona da VPC do ACK, o endpoint do lado do ASM também deve estar nessa zona, e vice-versa. Por esse motivo, o recurso ASMPvlConfig usa IDs de zona cruzados entre as duas VPCs (detalhado em Configure o recurso ASMPvlConfig).

O tráfego do PrivateLink permanece dentro da rede da Alibaba Cloud e não atravessa a internet pública, garantindo que a comunicação entre o plano de controle e o plano de dados seja privada.

Pré-requisitos

Adicionar o cluster ACK à instância do ASM

Adicione o cluster ACK à instância do ASM.

Após adicionar o cluster, o status dele será exibido como Connected no console do ASM. Isso indica apenas que o cluster está registrado no ASM. A conectividade via PrivateLink ainda não foi estabelecida. Prossiga para a próxima seção para configurá-la.

Configure o recurso ASMPvlConfig

Importante

Os IDs de zona no YAML são intencionalmente cruzados. Em ackVpcEndpoint, defina zoneId como a zona do vSwitch da instância do ASM. Em asmVpcEndpoint, defina zoneId como a zona do vSwitch do cluster ACK. Esse cruzamento é obrigatório porque o PrivateLink cria um endpoint na VPC remota que deve estar na mesma zona de disponibilidade do serviço de endpoint de destino.

Crie um arquivo chamado asmpvlconfig.yaml com o seguinte conteúdo:

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMPvlConfig
metadata:
  name: default
spec:
  ackVpcEndpoint:
  - clusterId: <ack-cluster-id>
    vSwitches:
    - vSwitchId: <ack-vswitch-id>
      zoneId: <asm-vswitch-zone-id>
  asmVpcEndpoint:
    vSwitches:
    - vSwitchId: <asm-vswitch-id>
      zoneId: <ack-vswitch-zone-id>

Substitua os placeholders pelos valores reais:

Placeholder

Descrição

Onde encontrar

Exemplo

<ack-cluster-id>

ID do cluster ACK adicionado à instância do ASM

Console do ACK ou lista de clusters no console do ASM

cab9ace222210457a83f09fcd42e9\\\\

<ack-vswitch-id>

ID de um vSwitch na VPC do cluster ACK

Console de VPC, página de vSwitch

vsw-bp1jsgsanpvxpj32yai50

<asm-vswitch-zone-id>

Zona do vSwitch da instância do ASM. Usado em ackVpcEndpoint para cruzamento de zonas.

Console de VPC, detalhes do vSwitch

cn-hangzhou-i

<asm-vswitch-id>

ID de um vSwitch na VPC da instância do ASM

Console de VPC, página de vSwitch

vsw-bp1l5hini55sstnwd2skf

<ack-vswitch-zone-id>

Zona do vSwitch do cluster ACK. Usado em asmVpcEndpoint para cruzamento de zonas.

Console de VPC, detalhes do vSwitch

cn-hangzhou-j

Importante

O campo metadata.name deve ser default. Outros nomes não são válidos.

Referência de campos

Campo

Descrição

spec.ackVpcEndpoint

Array de configurações do cluster ACK. Cada entrada contém um clusterId e uma lista de vSwitches na VPC do cluster ACK.

spec.ackVpcEndpoint[].clusterId

ID de um cluster ACK adicionado à instância do ASM.

spec.ackVpcEndpoint[].vSwitches

vSwitches disponíveis na VPC do cluster ACK. Cada vSwitch deve especificar vSwitchId e zoneId.

spec.asmVpcEndpoint.vSwitches

vSwitches na VPC da instância do ASM. Cada vSwitch deve especificar vSwitchId e zoneId.

Aplicar o recurso ASMPvlConfig

Conecte-se à instância do ASM com o kubectl e aplique o recurso:

kubectl apply -f asmpvlconfig.yaml

Verifique o status do PrivateLink

Aguarde alguns minutos para que o ASM provisione os recursos do PrivateLink e verifique o status:

kubectl get asmpvlconfig default -o yaml

Uma configuração bem-sucedida adiciona uma seção status à saída:

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMPvlConfig
metadata:
  name: default
spec:
  ackVpcEndpoint:
  - clusterId: cab9ace222210457a83f09fcd42****
    vSwitches:
    - vSwitchId: vsw-bp1jsgsanpvxpj32yai50
      zoneId: cn-hangzhou-j
  asmVpcEndpoint:
    vSwitches:
    - vSwitchId: vsw-bp1l5hini55sstnwd2skf
      zoneId: cn-hangzhou-i
status:
  clusters:
  - clusterId: cab9ace222210457a83f09fcd42****
    pvlEndpoint:
      connectionStatus: Connected
      domainName: ep-bp1i06bad79eb60c60cc.epsrv-bp1gqb8g1b8d7uactd.cn-hangzhou.privatelink.aliyuncs.com
      id: ep-bp1i06bad79eb60c60
      status: Active
    pvlEndpointService:
      id: epsrv-bp1gqb8g1b8d7uactd
      name: com.aliyuncs.privatelink.cn-hangzhou.epsrv-bp1gqb8g1b8d7uactd
      status: Active
  pilot:
    clusters:
    - clusterId: cab9ace222210457a83f09fcd42****
      pvlEndpoint:
        connectionStatus: Connected
        domainName: ep-bp1i52311b91a5a25e.epsrv-bp1cl4qwzkf747ug6tmy.cn-hangzhou.privatelink.aliyuncs.com
        id: ep-bp1i52311b91a5a25e
        status: Active
    pvlEndpointService:
      id: epsrv-bp1cl4qwzkf747ug6t
      name: com.aliyuncs.privatelink.cn-hangzhou.epsrv-bp1cl4qwzkf747ug6tmy
      status: Active
  status: Available

Confirme se status.status é Available. Isso significa que as conexões do servidor de API e do Pilot foram estabelecidas. Qualquer outro valor indica um problema de configuração — revise seus IDs de vSwitch e IDs de zona.

Referência de campos de status

A seção status contém dois grupos que refletem as duas conexões PrivateLink:

**status.clusters** — Conexão PrivateLink para o servidor de API do cluster ACK:

Campo

Descrição

clusterId

ID do cluster ACK.

pvlEndpoint.connectionStatus

Estado da conexão. Connected significa que a conexão foi estabelecida.

pvlEndpoint.domainName

Nome de domínio do endpoint PrivateLink. Este valor é necessário em Adicionar o domínio PrivateLink ao certificado do servidor de API.

pvlEndpoint.id

ID do endpoint PrivateLink.

pvlEndpoint.status

Estado do endpoint. Active significa que o endpoint está operacional.

pvlEndpointService.id

ID do serviço de endpoint na instância de SLB que expõe o servidor de API do cluster ACK.

pvlEndpointService.name

Nome do serviço de endpoint.

pvlEndpointService.status

Estado do serviço de endpoint. Active significa que o serviço está operacional.

**status.pilot** — Conexão PrivateLink para o Istio Pilot no plano de controle do ASM:

Campo

Descrição

clusters[].clusterId

ID do cluster ACK.

clusters[].pvlEndpoint.connectionStatus

Estado da conexão. Connected significa que a conexão foi estabelecida.

clusters[].pvlEndpoint.domainName

Nome de domínio do endpoint PrivateLink para o Pilot.

clusters[].pvlEndpoint.id

ID do endpoint PrivateLink para o Pilot.

clusters[].pvlEndpoint.status

Estado do endpoint. Active significa que o endpoint está operacional.

pvlEndpointService.id

ID do serviço de endpoint na instância de SLB que expõe o Istio Pilot.

pvlEndpointService.name

Nome do serviço de endpoint para o Pilot.

pvlEndpointService.status

Estado do serviço de endpoint. Active significa que o serviço está operacional.

**status.status** — Disponibilidade geral. Available indica que a conectividade entre VPCs está totalmente configurada.

Visualize os recursos do PrivateLink no console de VPC

Para inspecionar diretamente o serviço de endpoint e o endpoint:

  1. Faça login no console de VPC.

  2. No painel de navegação à esquerda, clique em Endpoints Service.

  3. Na barra de navegação superior, selecione a região onde reside o serviço de endpoint.

  4. Na página Endpoints Service, clique no ID da instância do serviço de endpoint de destino para visualizar seus detalhes.

  5. No painel de navegação à esquerda, clique em Endpoints. Na página Endpoints, clique no ID da instância do endpoint de destino para visualizar seus detalhes.

Adicionar o domínio PrivateLink ao certificado do servidor de API

O plano de controle do ASM acessa o servidor de API do cluster ACK por meio do nome de domínio do endpoint PrivateLink. Para que a validação TLS seja bem-sucedida, esse nome de domínio deve constar como Subject Alternative Name (SAN) no certificado do servidor de API. Sem isso, o plano de controle não consegue estabelecer uma conexão confiável com o servidor de API.

Na saída de status em Verifique o status do PrivateLink, copie o valor de pvlEndpoint.domainName em clusters (por exemplo, ep-bp1i06bad79eb60c60cc.epsrv-bp1gqb8g1b8d7uactd.cn-hangzhou.privatelink.aliyuncs.com) e adicione-o ao campo SAN personalizado do certificado do servidor de API do cluster ACK.

Para obter instruções, consulte Personalizar o SAN do certificado do servidor de API ao criar um cluster ACK.

Confirme a conectividade entre VPCs

Verifique o status do cluster ACK no console do ASM. Se o cluster estiver no estado Running, a conectividade entre VPCs via PrivateLink foi estabelecida com sucesso.