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

如何查询Kubernetes集群Calico CNI配置的VXLAN VNI与端口号

查询Calico VXLAN VNI与端口号的方法

1. 使用kubectl命令直接查询

Calico的VXLAN相关配置存储在其自定义CRD资源中,无需抓包即可直接读取:

  • 查询全局默认配置
    执行如下命令读取默认Felix配置资源,直接获取全局生效的VXLAN参数:
    kubectl get felixconfigurations default -o jsonpath='VNI: {.spec.vxlanVNI}{"\n"}端口号: {.spec.vxlanPort}{"\n"}'
    
    默认输出为:
    VNI: 4096
    端口号: 4789
    
  • 查询独立IPPool的专属配置
    如果你为特定IPPool单独配置了VXLAN参数,执行如下命令查看所有IPPool的VXLAN配置:
    kubectl get ippools -o custom-columns='NAME:.metadata.name,VNI:.spec.vxlanVNI,PORT:.spec.vxlanPort'
    
    注意:IPPool单独配置的参数优先级高于全局Felix配置。

2. 客户端调用实现

Calico的配置资源均属于crd.projectcalico.org API组下的标准CRD资源,可通过任意K8s客户端直接调用API获取:

  • 权限要求:客户端使用的ServiceAccount需要具备felixconfigurations和ippools资源的get、list权限
  • Python客户端:使用官方kubernetes库的CustomObjectsApi接口,调用get_cluster_custom_object方法,指定group为crd.projectcalico.org、version为v1、plural为felixconfigurations、name为default即可获取结构化的配置数据,直接读取对应字段即可
  • Go客户端:可直接引入Calico官方client-go库,调用FelixConfigurations().Get()或IPPools().List()方法获取结构化配置,无需手动解析JSON

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:36:00