排查代管式 CNI 问题
本页介绍了 Cloud Service Mesh 中常见的托管 CNI 问题以及如何解决这些问题。如果您需要其他帮助,请参阅获取支持。
不受支持的受管 CNI 启用配置
采用 TRAFFIC_DIRECTOR
控制平面实现的托管式 Cloud Service Mesh 需要使用托管式 CNI,并且不支持停用 CNI。您可以
会在功能状态消息中看到 CNI_CONFIG_UNSUPPORTED
代码,
“mesh.cloud.google.com/managed-cni-enabled
”标签存在,但不含
控制平面修订版本 (CPR) 自定义资源 (CR) 中的值 true
,或者
asm-options configmap 中存在 CNI 条目,但它的值不是 on
。
如需解决此错误消息,您必须移除所有尝试停用托管式 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 Pod 无法调度
如果托管的 CNI DaemonSet 无法在集群中的任何节点中调度 Pod,您可能会看到此错误。
请注意,集群内资源要求每个节点至少有 memory: 100Mi
。
如需了解详情,请参阅
Cloud Service Mesh 要求。
如果您的集群已经分配了足够的内存,请参阅
Pod 不可调度
了解其他问题排查步骤。