
# 根据GPU/NPU卡信息定位使用该卡的Pod
在CCE中使用GPU/NPU卡时，无法直接获取到使用该卡的Pod。您可以根据GPU/NPU卡的信息，通过kubectl命令行操作筛选Pod，以便在GPU/NPU卡故障时能够及时将Pod驱逐。
#### 前提条件
- 已创建CCE集群，且配置了kubectl命令行工具。详细操作可参考[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0107.html)。
- 集群上安装了CCE AI套件（GPU/NPU），可参考[CCE AI套件（NVIDIA GPU）](https://support.huaweicloud.com/usermanual-cce/cce_10_0141.html)和 [CCE AI套件（Ascend NPU）](https://support.huaweicloud.com/usermanual-cce/cce_10_0239.html)。其中NPU驱动版本应大于23.0。
 
#### 操作步骤
您可以在集群节点上查询GPU/NPU卡的信息，然后使用kubectl搜索到使用该卡的Pod。
- [GPU场景]
  1. 登录CCE控制台，在左侧导航栏中选择"节点管理"，切换至"节点"页签，查看GPU节点的IP。本文中以192.168.0.106为例。
  
  2. 登录GPU节点，通过以下命令查看GPU卡的信息。 
     ```
     nvidia-smi
     ```
     ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002126611505.png "点击放大")
     可以看到该机器上存在1张卡GPU0。本文以GPU0为例，定位使用这张卡的Pod。
     
     
  
  3. 根据节点IP（即192.168.0.106）和设备号（即第0张卡）定位使用了该卡的Pod。 
     ```
     kubectl get pods --all-namespaces -o jsonpath='{range .items[?(@.spec.nodeName=="192.168.0.106")]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.metadata.annotations}{"\n"}{end}' | grep nvidia0 | awk '{print $1, $2}'
     ```
     该命令查找了192.168.0.106节点上所有的Pod，并且查找了annotation中存在nvidia0（代表第0张卡）信息的Pod。最终输出了Pod所在的命名空间和Pod名称。查询结果如下：
     ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002091014952.png "点击放大")
     代表default命名空间下名为k8-job-rhblr的Pod使用了192.168.0.106节点上的第0张卡。
     
     
   
- [NPU场景]
  1. 登录CCE控制台，在左侧导航栏中选择"节点管理"，切换至"节点"页签，查看NPU节点的IP。本文中以192.168.0.138为例。
  
  2. 登录NPU节点，通过以下命令查看NPU卡的信息。 
     ```
     npu-smi info
     ```
     ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002091017256.png "点击放大")
     可以看到该机器上存在两张卡device0和device1。本文以device0为例，定位使用了这张卡的Pod。
     
     
  
  3. 根据节点IP（即192.168.0.138）和设备号（即第0张卡）定位使用了该卡的Pod。 
     ```
     kubectl get pods --all-namespaces -o jsonpath='{range .items[?(@.spec.nodeName=="192.168.0.138")]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.metadata.annotations}{"\n"}{end}' | grep Ascend310-0 | awk '{print $1, $2}'
     ```
     该命令查找了192.168.0.138节点上所有的Pod，并且查找了annotation中存在Ascend310-0（代表NPU卡的第0张卡）信息的Pod。最终输出了Pod所在的命名空间和Pod名称。查询结果如下：
     ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002126617913.png "点击放大")
     代表default命名空间下名为test-564f996c77-fws6z的Pod使用了192.168.0.138节点上的第0张卡。
     ![](https://support.huaweicloud.com/cce_faq/public_sys-resources/note_3.0-zh-cn.png)
     - 在使用其他卡时，Ascend310-0的Ascend310应该修改为对应卡名称。
     
     - NPU驱动版本应大于等于23.0。
      
     
     
   
