Solucionar problemas de CNI gestionado

En esta página se explican los problemas habituales de CNI gestionado con Cloud Service Mesh y cómo resolverlos. Si necesitas más ayuda, consulta el artículo Obtener asistencia.

Configuración habilitada de CNI gestionado no admitida

Para usar Cloud Service Mesh gestionado con la implementación del plano de control TRAFFIC_DIRECTOR, se necesita CNI gestionado y no se puede inhabilitar. Puede que vea el código CNI_CONFIG_UNSUPPORTED en el mensaje de estado de la función si la etiqueta mesh.cloud.google.com/managed-cni-enabled existe, pero no tiene el valor true en el recurso personalizado (CR) de la revisión del plano de control (CPR), o si la entrada CNI en el mapa de configuración asm-options existe, pero no tiene el valor on.

Para solucionar este mensaje de error, debes eliminar cualquier intento de inhabilitar CNI gestionado.

  • Caso 1: Elimina la etiqueta Managed CNI Enabled en el CR de CPR del clúster.

    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: Eliminar la cadena de datos ASM_OPTS de la entrada CNI asm-options configmap.

    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
    

CNI Pod unschedulable

Puede que veas este error si el DaemonSet de CNI gestionado no puede programar pods en ninguno de los nodos del clúster.

Ten en cuenta que los recursos del clúster requieren al menos memory: 100Mi en cada nodo. Para obtener más información, consulta los requisitos de Cloud Service Mesh. Si tu clúster ya tiene suficiente memoria asignada, consulta Pod no programable para ver más pasos para solucionar el problema.