
# 集群节点使用networkpolicy概率性出现panic问题
#### 问题场景
**集群版本：**v1.15.6-r1版本
**集群类型：**CCE集群
**网络模式：**容器隧道网络模式
**节点操作系统：**CentOS 7.6
上述集群的用户配置使用networkpolicy后，由于节点上canal-agent网络组件与CentOS 7.6内核存在不兼容，概率性导致CentOS 7.6的节点panic。
#### 受影响范围
以下三条为必要条件，若有一条不满足，则您不会受到此问题的影响：
- v1.15.6-r1容器隧道网络模式集群。
- canal-agent组件版本为1.0.RC10.1230.B005或更低版本的CentOS 7.6节点（简单的判断方法为2021年2月23日及之前创建的节点）。
- 计划使用或已配置使用networkpolicy规则。
 
#### 排查方法
**快速排查方法（适用于节点为按需计费类型）**
若您的节点为按需计费类型，可从cce-console上查看节点创建时间，对创建于2021年2月24日及之后的新建CentOS 7.6节点已无该问题。
**准确排查方法（通用）**
若您的集群版本为v1.15.6-r1，网络模式为容器隧道网络，节点操作系统为CentOS 7.6，而canal-agent组件版本为1.0.RC10.1230.B005.sp1或更高版本，则无此问题；若低于此版本（例如1.0.RC10.1230.B005、1.0.RC10.1230.B003、1.0.RC10.1230.B002），则建议您重置/删除对应节点后再使用networkpolicy。
**执行以下步骤查询节点网络组件版本**：
1. 准备可执行kubectl的节点。
2. 执行如下命令查询存量CentOS节点列表： 
   ```
   for node_item in $(kubectl get nodes --no-headers | awk '{print $1}') ; do kubectl get node ${node_item} -o yaml | grep CentOS >/dev/null; if [[ "$?" == "0" ]];then echo "${node_item} is CentOS node";fi;done
   ```
   回显如图：
   ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001146380153.png)
   
   
3. 假定用户CentOS节点的ip为10.0.50.187 (请替换为实际IP)，执行下述命令查看canal-agent版本： 
   ```
   kubectl get packageversions.version.cce.io 10.0.50.187 -o yaml | grep -A 1 canal-agent
   ```
   回显如图：
   ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001146256717.png)
   
   
#### 解决办法
如果您希望继续使用该节点资源，建议重置所属集群中的CentOS 7.6节点，以升级节点上网络组件到最新版本，具体操作请参考[重置节点](https://support.huaweicloud.com/usermanual-cce/cce_10_0003.html)。
如果您希望删除该隐患节点后重新购买，具体操作请参考[删除节点](https://support.huaweicloud.com/usermanual-cce/cce_10_0186.html)、[购买节点](https://support.huaweicloud.com/usermanual-cce/cce_10_0363.html)。
