Resolver problemas de CNI gerenciada

Nesta página, explicamos problemas comuns de CNI gerenciada com o Cloud Service Mesh e como resolvê-los. Se você precisar de mais ajuda, consulte Como receber suporte.

Configuração ativada de CNI gerenciada sem suporte

O Cloud Service Mesh gerenciado com a implementação de plano de controle TRAFFIC_DIRECTOR exige a CNI gerenciada e não oferece suporte a desativá-la. É possível ver o código CNI_CONFIG_UNSUPPORTED na mensagem de estado do recurso se o rótulo mesh.cloud.google.com/managed-cni-enabled existir, mas não tiver o valor true no recurso personalizado (CR) de revisão do plano de controle (CPR) ou se a entrada da CNI no configmap das opções do asm existir, mas não tiver o valor on.

Para resolver essa mensagem de erro, é preciso remover todas as tentativas de desativar a CNI gerenciada.

  • Caso 1: remova o rótulo "CNI gerenciada ativada" da resposta automática de CPR no cluster.

    apiVersion: v1
    items:
    - apiVersion: mesh.cloud.google.com/v1beta1
      kind: ControlPlaneRevision
      metadata:
        annotations:
          mesh.cloud.google.com/proxy: '{"managed":"false"}'
        creationTimestamp: "2024-02-18T08:13:30Z"
        generation: 1
        labels:
          app.kubernetes.io/created-by: mesh.googleapis.com
          mesh.cloud.google.com/managed-cni-enabled: false # Remove the "mesh.cloud.google.com/managed-cni-enabled" label
        name: asm-managed
        namespace: istio-system
        resourceVersion: "13422558"
        uid: 3ad755ec-78ab-4d57-8fb9-c5e1a07740d5
    
  • Caso 2: remova a string de dados ASM_OPTS do configmap das opções de asm-options da CNI.

    apiVersion: v1
    data:
      ASM_OPTS: CNI=off # Remove CNI entry in the ASM_OPTS data.
      multicluster_mode: connected
    kind: ConfigMap
    metadata:
      creationTimestamp: "2024-02-18T08:13:30Z"
      name: asm-options
      namespace: istio-system
      resourceVersion: "1640225"
      uid: 576602da-e60b-4df7-9427-5be06e5bf014
    

Pod CNI não programável

Talvez você veja esse erro se o Daemonset da CNI gerenciado não puder programar pods em nenhum dos nós no cluster.

Os recursos no cluster exigem pelo menos memory: 100Mi em cada nó. Para mais informações, consulte Requisitos do Cloud Service Mesh. Se o cluster já tiver memória suficiente alocada, consulte Pod não programável para mais etapas de solução de problemas.