관리형 CNI 문제 해결

이 페이지에서는 Cloud Service Mesh의 일반적인 관리형 CNI 문제와 해결 방법에 대해 설명합니다. 추가 지원이 필요하면 지원 받기를 참조하세요.

지원되지 않는 관리형 CNI 사용 설정 구성

TRAFFIC_DIRECTOR 컨트롤 플레인 구현이 있는 관리형 Cloud Service Mesh에는 관리형 CNI가 필요하며 사용 중지를 지원하지 않습니다. mesh.cloud.google.com/managed-cni-enabled 라벨이 있지만 컨트롤 플레인 버전(CPR) 커스텀 리소스에 true 값이 없거나, asm-options configmap의 CNI 항목이 존재하지만 on 값이 없는 경우 기능 상태 메시지에 CNI_CONFIG_UNSUPPORTED 코드가 표시될 수 있습니다.

이 오류 메시지를 해결하려면 관리형 CNI를 사용 중지하려는 모든 시도를 삭제해야 합니다.

  • 사례 1: 클러스터의 CPR CR에서 관리형 CNI 사용 설정 라벨을 삭제합니다.

    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
    
  • 케이스 2: CNI 항목 asm-options configmap ASM_OPTS 데이터 문자열을 삭제합니다.

    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 포드를 예약할 수 없음

관리형 CNI Daemonset이 클러스터의 노드 중 하나에서 포드를 예약할 수 없으면 이 오류가 표시될 수 있습니다.

클러스터 내 리소스에는 각 노드에 최소 memory: 100Mi의 메모리가 필요합니다. 자세한 내용은 Cloud Service Mesh 요구사항을 참조하세요. 클러스터에 이미 충분한 메모리가 할당된 경우 예약할 수 없는 포드에서 추가 문제 해결 단계를 확인하세요.