Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Agendar pods do gateway ASM em um nó específico

Última atualização: Aug 28, 2026

Agende os pods do gateway ASM (Alibaba Cloud Service Mesh) em nós específicos do cluster Kubernetes para melhorar a alta disponibilidade e isolar os pods do gateway dos pods de aplicação. Por exemplo, distribua os pods do gateway entre nós em diferentes domínios de falha para garantir redundância ou dedique nós específicos às cargas de trabalho do gateway.

Pré-requisitos

Conceitos principais

A tabela a seguir descreve os conceitos de agendamento do Kubernetes utilizados neste tópico:

Conceito

Descrição

rótulo de nó

Par chave-valor associado a um nó. Os rótulos de nó marcam os nós para o agendamento de pods. As regras de afinidade de nó referenciam esses rótulos por meio de matchExpressions para determinar em quais nós um pod pode ser agendado.

taint

Atributo de chave-valor-efeito aplicado a um nó que o faz repelir pods sem uma tolerância correspondente. Por exemplo, um taint com chave mykey, valor myvalue e efeito NoSchedule impede o agendamento de pods sem a tolerância adequada nesse nó.

toleration

Atributo de chave-valor-efeito aplicado a um pod que permite seu agendamento em um nó com um taint correspondente. Taints e tolerations atuam em conjunto para controlar onde os pods podem ser executados. Cada nó pode ter um ou mais taints aplicados.

afinidade de nó

Conjunto de regras de agendamento que definem os nós elegíveis para um pod com base nos rótulos de nó. A afinidade de nó suporta dois tipos de regras. Uma regra obrigatória (requiredDuringSchedulingIgnoredDuringExecution) é uma restrição rígida que deve ser atendida para que o agendamento ocorra. Já uma regra preferencial (preferredDuringSchedulingIgnoredDuringExecution) indica uma preferência suave que o agendador tenta satisfazer, mas não exige. Caso não seja possível atender à restrição preferencial, o pod ainda será agendado em outro nó disponível.

Etapa 1: Adicionar um rótulo a um nó

Execute o comando a seguir para consultar os nomes dos nós no cluster:

kubectl get nodes

Execute o comando a seguir para adicionar um rótulo ao nó de destino:

# Command format
kubectl label nodes <node-name> <label-key>=<label-value>

# Example
kubectl label nodes node1 mykey4pod=asmgateway

Etapa 2: Adicionar um taint a um nó

Execute o comando a seguir para aplicar um taint a um nó:

kubectl taint nodes node1 mykey=myvalue:NoSchedule

Esse comando aplica um taint ao nó chamado node1. O taint possui a chave mykey, o valor myvalue e o efeito NoSchedule. Somente pods com uma tolerância correspondente poderão ser agendados no nó node1.

Etapa 3: Configure afinidade de nó e tolerações para o gateway ASM

Configure o parâmetro nodeAffinity para distribuir os pods do gateway ASM nos nós especificados. Defina também o parâmetro tolerations para corresponder ao taint criado na Etapa 2 e permitir o agendamento dos pods do gateway nos nós desejados.

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

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

  3. No lado direito da página Ingress Gateway, clique em View YAML do gateway de destino.

  4. Na caixa de diálogo Edit, adicione o conteúdo a seguir sob o campo spec e clique em OK.

      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: mykey4pod
                operator: In
                values:
                - asmgateway
      tolerations:
      - key: "mykey"
        operator: "Equal"
        value: "myvalue"
        effect: "NoSchedule"
  5. Verifique se os pods do gateway estão em execução nos nós esperados.

    1. Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.

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

    3. No topo da página Pods, selecione o namespace istio-system e confirme se os pods do gateway estão em execução nos nós corretos.

    Se os pods do gateway estiverem em execução nos nós de destino, a configuração de afinidade de nó e tolerações para o gateway ASM foi concluída com sucesso.