マネージド CNI をトラブルシューティングする

このページでは、Cloud Service Mesh の一般的なマネージド CNI の問題とその解決方法について説明します。さらにサポートが必要な場合は、サポートの利用をご覧ください。

サポートされていないマネージド CNI 対応の構成

TRAFFIC_DIRECTOR コントロール プレーンの実装を使用するマネージド Cloud Service Mesh には、マネージド CNI が必要であり、マネージド CNI の無効化はサポートされていません。mesh.cloud.google.com/managed-cni-enabled ラベルが存在しても、コントロール プレーン リビジョン(CPR)カスタム リソース(CR)に値 true がない場合、または asm-options configmap に CNI エントリが存在しても、値 on がない場合、機能状態メッセージに CNI_CONFIG_UNSUPPORTED コードが表示されることがあります。

このエラー メッセージを解決するには、マネージド CNI を無効にしようとしている箇所を削除する必要があります。

  • ケース 1: クラスタの CPR CR でマネージド CNI Enabled ラベルを削除します。

    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 Pod をスケジュールできない

このエラーは、マネージド CNI DaemonSet がクラスタ内のいずれかのノードで Pod をスケジュールできない場合に表示されることがあります。

クラスタ内リソースには、各ノードに少なくとも memory: 100Mi が必要です。詳細については、Cloud Service Mesh の要件をご覧ください。クラスタに十分なメモリがすでに割り当てられている場合は、Pod がスケジュールできないにて追加のトラブルシューティング手順をご覧ください。