CCE Turbo集群如何修复出现故障的容器网卡?
CCE Turbo集群采用的是云原生网络2.0网络模型,每个Pod创建时都会分配一张网卡,您可以根据Pod上的Event事件进行对应的处理恢复:
- Pod创建报错exit status -1
- Pod创建报错timed out waiting for the condition [arping timeout]
- Pod创建报错timed out waiting for the condition [vlan is exist]
- Pod创建报错timed out waiting for the condition [port unavailable]
- Pod创建报错no eni bound to pod
- Pod正常创建并启动成功,但网络异常
Pod创建报错exit status -1
此报错表明容器网络插件为该Pod设置相关的网络配置错误,根因一般为节点过载或单节点大批量并发创建Pod时执行相关的ip或iptables命令报错,出现此Event事件无需任何处理,kubelet会自动重试,最终会正常拉起Pod。如果Pod持续报错且最终无法拉起请提交工单联系运维人员进行处理。
Pod创建报错timed out waiting for the condition [arping timeout]
此报错表明该Pod分配到的网卡无法arping通Pod的子网网关,根因一般为VPC底层网络故障,10分钟后如果VPC底层网络还未恢复,CCE会对此Pod重新分配新的网卡。如果您想尽快恢复,请重建Pod。如果Pod持续报错请提交工单联系运维人员进行处理。
Pod创建报错timed out waiting for the condition [vlan is exist]
此报错是由于节点上已经存在相同vlan号的vlan子接口,导致无法在节点上创建辅助弹性网卡的vlan子接口,请确保您没有自行创建vlan子接口。如果您想尽快恢复,请重建Pod。如果Pod持续报错请提交工单联系运维人员进行处理。
Pod创建报错timed out waiting for the condition [port unavailable]
此报错表明节点上无法查找到分配给此Pod的弹性网卡,根因一般为BMS底层网络故障。如果您想尽快恢复,请重建Pod。如果Pod持续报错请提交工单联系运维人员进行处理。
Pod创建报错no eni bound to pod
此报错表明该Pod没有分配到网卡,需要您进一步查看Pod上的其他Event事件做进一步的辅助定位:
- 报错[insufficient IP addresses in subnets]
此报错是由于Pod使用的容器网络配置的子网的IP已耗尽或您没有配置子网。您可以参考以下步骤进行解决:
- 登录CCE控制台,单击集群名称进入集群。
- 查看“网络信息”,确认您配置的默认容器子网信息,确认是否还有足够的IP。
- 如果已无可用IP,可单击“编辑”,选择同一VPC下的容器子网。您可一次性添加多个容器子网,如没有其他可用的容器子网,可前往VPC控制台创建。
- 报错[insufficient NICs on node]
此报错是由于节点上绑定的网卡数已经达到此节点规格的最大配额,根因一般为您给此节点额外绑定了弹性网卡,导致额外占用了节点弹性网卡的配额。如您需要额外绑定弹性网卡,请联动修改节点池的maxPods配置。配置详情请参见修改节点池配置。
- 报错[insufficient secgroup referred by nic]
此报错是由于Pod使用的安全组已经超过最大可关联的网卡数限制。由于节点上预热的网卡也会使用default-network上配置的安全组,请合理配置容器网卡动态预热,避免节点上预热过多的网卡,进而占用安全组关联的网卡数配额。详情请参见CCE Turbo配置容器网卡动态预热。
如果您当前集群的Pod规模数确实比较大,会超过安全组最大可关联的网卡数限制,请为不同的节点池配置不同的安全组以提升规模。配置详情请参见修改节点池配置。
- 报错Security group xxx does not exist
此报错是由于Pod使用的容器网络配置里的安全组ID不存在。您可以参考以下步骤进行解决:
- 登录CCE控制台,单击集群名称进入集群。
- 在“配置中心”页面,切换至“网络配置”页签。
- 在“容器网络配置”中,更新安全组。
- 更新完成后,重建Pod即可恢复。
Pod正常创建并启动成功,但网络异常
如果Pod正确创建并启动成功,表明创建过程网络一切正常,但后续网络不通,可能有以下原因:
- Pod对应的安全组或ACL禁止了您的网络访问,请确保您的安全组规则或ACL配置正确。
- 可在容器内尝试arping Pod的子网网关,命令如下:
arping -I eth0 $Pod的子网网关
如果无法arping通,大概率Pod在节点上对应的容器网络配置被误删除或者VPC底层网络异常。如果您想尽快恢复,请重建Pod,也可提交工单联系运维人员进行处理。
- 新旧节点IP复用触发社区已知的issue。CCE Turbo集群中DaemonSet类型的Pod的创建时间如果早于对应新Node节点的创建时间, 可能导致分配给Pod的网卡又被删除,请重建Pod恢复。