专栏首页Tensorbytesk8s故障问题收集帖

k8s故障问题收集帖

网络问题

Pod 一直处于 ContainerCreating 状态,显示”cni0” already has an IP address different

通过 kubectl describe pod <pod-name> 命令查看到当前 Pod 的事件

Events: Type Reason Age From Message


Normal Scheduled 89s default-scheduler Successfully assigned local-path-storage/local-path-provisioner-ccbdd96dc-cbthj to ip-172-31-9-78 Warning FailedCreatePodSandBox 88s kubelet, ip-172-31-9-78 Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container “dbe0dc21f80b8778ceff11a98de477e59f5c3fa982563626ed0c01eba5eaed2c” network for pod “local-path-provisioner-ccbdd96dc-cbthj”: NetworkPlugin cni failed to set up pod “local-path-provisioner-ccbdd96dc-cbthj_local-path-storage” network: failed to set bridge addr: “cni0” already has an IP address different from 10.42.0.1/24

查看 kubelet 日志也是显示:

E1216 17:30:30.675697 22632 cni.go:331] Error adding local-path-storage_local-path-provisioner-ccbdd96dc-cbthj/ 0d2b1cd6de25ac114e2075f70f8ac25ef72b299048e728038086f3e7324f400a to network flannel/cbr0: failed to set bridge addr: “cni0” already has an IP address different from 10.42.0.1/24 E1216 17:30:30.922504 22632 remote_runtime.go:105] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to set up sandbox container “0d2b1cd6de25ac114e2075f70f8ac25ef72b299048e728038086f3e7324f400a” network for pod “local-path-provisioner-ccbdd96dc-cbthj”: NetworkPlugin cni failed to set up pod “local-path-provisioner-ccbdd96dc-cbthj_local-path-storage” network: failed to set bridge addr: “cni0” already has an IP address different from 10.42.0.1/24

这类错误是因为 cni0 网桥配置了一个不同网段的 IP 地址导致, 做法是删除cni0让网络插件重新自动创建(由于cni0是作为docker的网桥,这里需要先暂停对于机器的容器):

systemctl stop docker
ip link set cni0 down
brctl delbr cni0

Coredns CrashLoopBackOff 问题

log日志:

kubectl -n kube-system logs coredns-6998d84bf5-r4dbk  
E1028 06:36:35.489403       1 reflector.go:134] github.com/coredns/coredns/plugin/kubernetes/controller.go:322: Failed to list *v1.Namespace: Get https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp 10.96.0.1:443: connect: no route to host
E1028 06:36:35.489403       1 reflector.go:134] github.com/coredns/coredns/plugin/kubernetes/controller.go:322: Failed to list *v1.Namespace: Get https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp 10.96.0.1:443: connect: no route to host
log: exiting because of error: log: cannot create log: open /tmp/coredns.coredns-8686dcc4fd-7fwcz.unknownuser.log.ERROR.20191028-063635.1: no such file or directory

防火墙(iptables)规则错乱或者缓存导致的,解决方案:

iptables --flush
iptables -tnat --flush

该操作会丢失防火墙规则

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [专利]一种基于深度孪生网络的人流检测方法

    机械视角
  • RTBkit 精准营销系统部署

    项目地址: https://github.com/rtbkit/rtbkit/wiki/What-is-RTBkit%3F

    机械视角
  • FastDFS安装

    libfastcommon是 FastDFS 中的公共 C 函数库,基础环境。下载编译安装

    机械视角
  • ViewPager 获取当前显示的Fragment

    佛系编码
  • Spark SQL 优化笔记

    首先会导致某个task数量很大,且总task数量很少(task数目不等于rdd或df的分区数,目前不知道原因),接着报java.lang.OutOfMemory...

    董可伦
  • sql注入总结笔记

    前端构造的SQL语句片段拼接到后台SQL语句中,后台缺乏正确识别和过滤,造成与其外的数据库查询结果。

    宸寰客
  • plsql被另一个用户锁住的解决办法

    今天很不幸,可能由于自己的疏忽,在用plsql的时候用select * from 表名 for update 去修改数据,之后由于接着专心写代码修bug等又做其...

    小小鱼儿小小林
  • 四, 跨语言微服务框架 - Istio官方示例(超时控制,熔断器,流量复制)

    基础的Istio环境已经搭建完成,我们需要开始了解Istio提供作为微服务网格的各种机制,也就是本文标题的(超时控制,熔断器,流量复制,速率控制)官方很给力的准...

    喵了个咪233
  • Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"

    1、“罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢? 2、利用 Python 进行多 Sheet 表合并、多工作簿合并、一表按列拆分

    杰哥的IT之旅
  • Node.js 进程平滑离场剖析

    使用 Node.js 搭建 HTTP Server 已是司空见惯的事。在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视。既然是...

    草小灰

扫码关注云+社区

领取腾讯云代金券