文档首页/ 云容器引擎 CCE/ 用户指南/ 网络/ 容器网络/ 云原生网络2.0模型/ 获取CCE Turbo集群中Pod使用的网卡信息
更新时间:2025-10-14 GMT+08:00
分享

获取CCE Turbo集群中Pod使用的网卡信息

在CCE Turbo集群中,每个Pod会绑定独立的弹性网卡(ENI)/辅助弹性网卡(Sub-ENI),该过程由网络模型插件自动执行,如果集群中的Pod数量较多,网卡的数量也会同步增加。在某些场景中,您可能因为业务需求需要获取Pod使用的网卡信息。例如,进行网络监控或故障排除时,了解Pod的网卡ID可以帮助您更精确地定位问题,或者在某些场景下,您可以根据网卡信息进行自定义的配置管理。

本文档介绍如何在Pod的注解中获取Pod网卡的详情,该功能支持以下两个维度配置:

配置不同层级的开关时,其生效逻辑如下表所示:

全局配置:所有Pod显示网卡信息

按需配置:指定Pod显示网卡信息

最终Pod是否显示网卡信息

开启(true)

开启(true)

显示

开启(true)

关闭(false)

不显示

开启(true)

未设置

显示

关闭(false)

开启(true)

显示

关闭(false)

关闭(false)

不显示

关闭(false)

未设置

不显示

约束与限制

  • 仅CCE Turbo集群支持该功能,且集群版本需满足以下要求:
    • v1.27集群:v1.27.16-r50及以上版本
    • v1.28集群:v1.28.15-r40及以上版本
    • v1.29集群:v1.29.15-r0及以上版本
    • v1.30集群:v1.30.14-r0及以上版本
    • v1.31集群:v1.31.10-r0及以上版本
    • v1.32集群:v1.32.6-r0及以上版本
    • v1.33及以上版本
  • 该功能在大规模批量创建Pod场景下会对Pod的启动性能产生影响。

操作步骤

开启/关闭全局配置后,存量Pod需要重启后才能显示/不显示网卡信息。

  1. 请参见通过kubectl连接集群,使用kubectl工具连接到您的集群。
  2. 编辑YangtseConfiguration资源,执行命令:

    kubectl patch yc default --type='merge' -p '{"spec":{"eni":{"enablePodNetworkStatus":true}}}'

    如果需要关闭全局配置,可将以上命令修改为:

    kubectl patch yc default --type='merge' -p '{"spec":{"eni":{"enablePodNetworkStatus":false}}}'

  3. 创建一个名为nginx.yaml的文件。其中,nginx.yaml为自定义名称,您可以随意命名。

    vi nginx.yaml

    文件示例如下:

    apiVersion: v1
    kind: Pod 
    metadata:
      name: nginx
    spec:
      containers:
      - image: nginx:latest
        name: container-0
        resources:
          limits:
            cpu: 100m
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
      imagePullSecrets:
      - name: default-secret

  4. 创建Pod。

    kubectl create -f nginx.yaml

    回显如下:

    pod/nginx created

  5. Pod创建完成后,可以使用以下命令查询Pod的状态,该Pod将在annotation中自动获取并显示网卡信息。

    kubectl get pod nginx -o yaml

    回显如下:

    其中:

    • name:Pod使用的容器网络配置名称。
    • portID:Pod使用的网卡ID。
    • ips:该网卡的IP地址。

  1. 请参见通过kubectl连接集群,使用kubectl工具连接到您的集群。
  2. 创建一个名为nginx.yaml的文件。其中,nginx.yaml为自定义名称,您可以随意命名。

    vi nginx.yaml

    文件示例如下:

    apiVersion: v1
    kind: Pod 
    metadata:
      name: nginx
      annotations:
        yangtse.io/enable-pod-network-status: "true"  # 开启显示网卡信息
    spec:
      containers:
      - image: nginx:latest
        name: container-0
        resources:
          limits:
            cpu: 100m
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
      imagePullSecrets:
      - name: default-secret

  3. 创建Pod。

    kubectl create -f nginx.yaml

    回显如下:

    pod/nginx created

  4. Pod创建完成后,可以使用以下命令查询Pod的状态,该Pod将在annotation中自动获取并显示网卡信息。

    kubectl get pod nginx -o yaml

    回显如下:

    其中:

    • name:Pod使用的容器网络配置名称。
    • portID:Pod使用的网卡ID。
    • ips:该网卡的IP地址。

相关文档