You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Linkerd 2.12后clusterNetworks检测报错求助(ExternalName服务)

解决Linkerd 2.12中linkerd check --proxy的clusterNetworks错误(针对ExternalName服务)

问题说明

执行linkerd check --proxy时出现以下错误:

cluster networks contains all services
    the Linkerd clusterNetworks ["10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16"] do not include svc my-namespace/postgres-database ()

涉事服务为type: ExternalName,本不应被Linkerd监控,且该错误在升级到Linkerd 2.12后出现。

原因

Linkerd 2.12新增了集群网络检查机制,会验证所有服务的IP是否属于配置的集群网络范围。但ExternalName服务指向外部域名,没有集群内的IP地址,因此触发了这个检查错误。

解决方案

方法1:给单个ExternalName服务添加忽略注解(推荐)

给目标服务添加config.linkerd.io/cluster-networks: "ignore"注解,让Linkerd跳过对该服务的集群网络检查:

apiVersion: v1
kind: Service
metadata:
  name: postgres-database
  namespace: my-namespace
  annotations:
    config.linkerd.io/cluster-networks: "ignore"
spec:
  type: ExternalName
  externalName: your-external-domain.example.com

应用配置后,重新运行linkerd check --proxy即可消除错误。此方法仅针对特定服务处理,不会影响全局安全限制。

方法2:全局更新clusterNetworks配置(不推荐)

如果需要全局调整集群网络范围(不建议,会弱化安全限制),可通过linkerd upgrade命令重新部署控制平面,指定包含所有IP的网段:

linkerd upgrade --cluster-networks "10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16,0.0.0.0/0" | kubectl apply -f -

0.0.0.0/0会包含所有IP地址,虽然能解决错误,但会让集群网络检查失去意义,仅适合特殊场景使用。

内容的提问来源于stack exchange,提问作者Seagull

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:01:23