Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:servicemesh-operator

Última atualização: Jun 27, 2026

O componente servicemesh-operator automatiza a implantação e o gerenciamento do ciclo de vida do Alibaba Cloud Service Mesh (ASM) em um cluster Container Service for Kubernetes (ACK). Após a instalação, ele cuida do provisionamento, da inscrição do cluster e da sincronização de configurações. Assim, você interage com o ASM exclusivamente por meio de recursos personalizados nativos do Kubernetes, sem precisar alternar entre consoles. Isso permite ativar rapidamente recursos avançados do ASM, como gerenciamento de tráfego, segurança e observabilidade.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um cluster ACK executando Kubernetes 1.28 ou posterior

  • Uma instância ASM ativada

Como funciona

A instalação do servicemesh-operator aciona automaticamente a seguinte sequência:

  1. O sistema implanta um controlador chamado servicemesh-operator no plano de controle do cluster. Ele monitora e reconcilia os recursos personalizados ServiceMesh.

  2. O sistema cria a CustomResourceDefinition (CRD) servicemesh.istio.alibabacloud.com.

  3. O sistema cria automaticamente um recurso personalizado (CR) ServiceMesh chamado mesh.

  4. O controlador provisiona uma instância ASM Standard Edition chamada mesh-for-${cluster ID} e inscreve o cluster ACK nela.

Após a conclusão do provisionamento, consulte o CR mesh para acompanhar o progresso e monitorar o estado atual.

Monitorar o status da instância ASM

Console

  1. Na página ACK Clusters, clique em no nome do cluster. No painel de navegação à esquerda, clique em Workloads > Custom Resources.

  2. Na página Custom Resources, pesquise por ServiceMesh. Nos resultados, clique em no nome do ServiceMesh em istio.alibabacloud.com. Em seguida, clique em Actions > Edit YAML. Exemplo de YAML:

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ServiceMesh
    metadata:
      annotations:
        operator.istio.alibabacloud.com/deletion-policy: Retain
      creationTimestamp: "2026-01-09T02:25:12Z"
      finalizers:
      - servicemeshoperator.finalizers.alibabacloud.com
      generation: 2
      name: asm
      resourceVersion: "36619976"
      uid: 94967e01-fc25-477e-9da9-4df42cede8ba
    spec:
      clusterSpec: Enterprise
    status:
      clusterSpec: Enterprise
      conditions:
      - lastTransitionTime: "2026-01-09T02:25:19Z"
        message: ""
        observedGeneration: 2
        reason: Passed
        status: "True"
        type: PreChecked
      - lastTransitionTime: "2026-01-09T02:25:32Z"
        message: ""
        observedGeneration: 2
        reason: Available
        status: "True"
        type: ServiceMeshAvailable
      - lastTransitionTime: "2026-01-09T02:25:32Z"
        message: ""
        observedGeneration: 2
        reason: Succeeded
        status: "True"
        type: ClusterEnrolled
      - lastTransitionTime: "2026-01-09T02:25:38Z"
        message: ""
        observedGeneration: 2
        reason: Succeeded
        status: "True"
        type: MeshConfigApplied
      serviceMeshId: c6490deb776cc458c82c4c22a69315bae
      serviceMeshName: mesh-for-cf17b23e9fa6b4fb081c58a33964cd3dc

kubectl

  1. Obter o kubeconfig do cluster e conectar com kubectl.

  2. Visualize o CR ServiceMesh:

    kubectl get servicemesh mesh -n istio-system -o yaml

    Saída esperada:

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ServiceMesh
    metadata:
      annotations:
        operator.istio.alibabacloud.com/deletion-policy: Retain
      creationTimestamp: "2026-01-09T02:25:12Z"
      finalizers:
      - servicemeshoperator.finalizers.alibabacloud.com
      generation: 2
      name: asm
      resourceVersion: "36619976"
      uid: 94967e01-fc25-477e-9da9-4df42cede8ba
    spec:
      clusterSpec: Enterprise
    status:
      clusterSpec: Enterprise
      conditions:
      - lastTransitionTime: "2026-01-09T02:25:19Z"
        message: ""
        observedGeneration: 2
        reason: Passed
        status: "True"
        type: PreChecked
      - lastTransitionTime: "2026-01-09T02:25:32Z"
        message: ""
        observedGeneration: 2
        reason: Available
        status: "True"
        type: ServiceMeshAvailable
      - lastTransitionTime: "2026-01-09T02:25:32Z"
        message: ""
        observedGeneration: 2
        reason: Succeeded
        status: "True"
        type: ClusterEnrolled
      - lastTransitionTime: "2026-01-09T02:25:38Z"
        message: ""
        observedGeneration: 2
        reason: Succeeded
        status: "True"
        type: MeshConfigApplied
      serviceMeshId: c6490deb776cc458c82c4c22a69315bae
      serviceMeshName: mesh-for-cf17b23e9fa6b4fb081c58a33964cd3dc

Interpretar as condições de status

O controlador reconcilia a instância ASM em quatro etapas ordenadas. Cada etapa aparece como uma condição em status.conditions. Uma instância íntegra apresenta todas as quatro condições com status: "True":

Tipo de condição

Significado

Motivo esperado

PreChecked

Verificações preliminares aprovadas

Passed

ServiceMeshAvailable

Instância ASM provisionada e disponível

Available

ClusterEnrolled

Cluster ACK inscrito na instância ASM

Succeeded

MeshConfigApplied

Configuração do mesh aplicada ao cluster

Succeeded

Caso alguma condição exiba status: "False" ou status: "Unknown", verifique o campo message dessa condição para obter detalhes sobre a falha.

Limitações

  • O servicemesh-operator suporta apenas vinculação um para um entre instância ASM e cluster ACK. Para atualizar uma instância ASM existente, use o console do ASM.

  • A Standard Edition é gratuita, mas não possui Acordo de Nível de Serviço (SLA), limita-se a 50 pods e está disponível apenas na China continental. A criação de instâncias Standard Edition em outras regiões falha. Para usar outra edição, defina .spec.clusterSpec como Enterprise ou Ultimate no CR ServiceMesh. Para detalhes de faturamento, consulte Visão geral do faturamento.

Aviso

A exclusão de um CR ServiceMesh remove o cluster ACK do ASM. Se o cluster utilizar ativamente recursos do ASM, como gateways ou proxies Sidecar, a remoção falhará. Verifique status.conditions para confirmar o estado atual antes de excluir.

Aviso

A anotação de exclusão determina se a instância ASM será excluída junto com o CR ServiceMesh. Defina essa anotação intencionalmente — o comportamento padrão é Retain. Consulte Política de exclusão para mais detalhes.

Referência do CRD ServiceMesh

O recurso ServiceMesh define o estado desejado e real de um service mesh ASM em um cluster Kubernetes. Alguns campos de .spec são mutáveis e sua alteração aciona atualizações nas propriedades correspondentes do mesh.

Spec (.spec)

Campo

Tipo

Descrição

Padrão

Obrigatório

Mutável

id

string

ID do service mesh. O sistema gera um valor caso nenhum seja definido. Especifique este campo para criar um novo service mesh ou adicionar o cluster a um mesh existente. Tem precedência sobre name.

N/A

Não

Não

name

string

Nome do service mesh. O padrão é mesh-for-${cluster ID} caso nenhum valor seja definido. Especifique este campo para criar um novo service mesh ou adicionar o cluster a um mesh existente.

N/A

Não

Sim

clusterSpec

string

Edição do ASM. Valores válidos: Standard, Enterprise, Ultimate.

Standard (China continental) / Enterprise (outras regiões)

Não

Sim

Status (.status)

Campo

Tipo

Descrição

serviceMeshName

string

Nome exclusivo da instância ASM criada pelo controlador. Registrado antes da primeira solicitação de criação e imutável durante a reconciliação para evitar instâncias duplicadas.

serviceMeshId

string

ID da instância ASM criada com sucesso, recuperado do Alibaba Cloud após o provisionamento.

clusterSpec

string

Edição da instância ASM criada.

conditions

[]ServiceMeshCondition

Lista ordenada das etapas de reconciliação e seus status atuais.

ServiceMeshCondition

Campo

Tipo

Descrição

lastTransitionTime

metav1.Time

Timestamp da última alteração de status desta condição.

status

string

True (condição atendida), False (condição não atendida) ou Unknown.

type

string

Etapa de reconciliação: PreChecked, ServiceMeshAvailable, ClusterEnrolled, MeshConfigApplied, Retried ou ServiceMeshDeleted.

message

string

Contexto adicional sobre a condição, útil principalmente quando uma etapa falha.

reason

string

Código de motivo legível por máquina: Reconciling, Succeeded, Failed, Available, Unavailable, Passed, WaitSteady ou Retried.

Anotações especiais

Nova tentativa

Em caso de erro de reconciliação, defina a anotação operator.istio.alibabacloud.com/retry-at para acionar uma nova tentativa:

kubectl annotate servicemesh mesh operator.istio.alibabacloud.com/retry-at=""

O controlador repetirá automaticamente a operação que falhou.

Política de exclusão

Use a anotação operator.istio.alibabacloud.com/deletion-policy para controlar o destino da instância ASM ao excluir o CR ServiceMesh:

  • Retain (padrão): A instância ASM permanece no Alibaba Cloud.

  • Delete: A instância ASM é excluída do Alibaba Cloud.

Defina esta anotação ao criar o recurso:

apiVersion: istio.alibabacloud.com/v1beta1
kind: ServiceMesh
metadata:
  name: advanced-mesh
  annotations:
    operator.istio.alibabacloud.com/deletion-policy: Delete  # or Retain
spec:
  name: advanced-service-mesh
  clusterSpec: Ultimate
Importante

Se a anotação estiver definida como Delete, a exclusão do cluster ACK também excluirá a instância ASM.