k8s常见报错及解决方法
cgroup driver问题现象:03 16:08:32.31970924189 server.go:265] failed to run Kubelet: misconfiguration: kubelet cgroup driver:"cgroupfs" is different from docker cgroup driver: "systemd"原因:kubelet cgroup dr
·
cgroup driver问题
现象:
03 16:08:32.319709 24189 server.go:265] failed to run Kubelet: misconfiguration: kubelet cgroup driver:"cgroupfs" is different from docker cgroup driver: "systemd"
原因:
kubelet cgroup driver 与docker 不一致
解决方法:
修改kubelet 或者 docker 配置保持一致即可
swap开启导致kubelet启动失败
现象:
Jan 30 10:27:34 k8s-node1 kubelet[9831]: F0130 10:27:34.926665 9831 server.go:261] failed to run Kubelet: Running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false. /proc/swaps contained: [Filename Type Size Used Priority /swapfile file 2097148 0 -2]
原因:
swap又开启了
解决方法:
# 关闭Swap,机器重启后不生效
swapoff -a
cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S')
sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab
systemctl daemon-reload
systemctl restart kubelet
flannel.1网卡地址与cni0网段不一致
现象:
kubectl describe pod 有错误日志
network: failed to set bridge addr: "cni0" already has an IP address different from 10.244.6.1/24
解决方法:
方法1:是将cni0的IP段修改为10.244.6.1。
/run/flannel/subnet.env
方法2:是将这个错误的网卡删除掉,之后会自动重建。
下面我们删除错误的cni0,然后让它自己重建,操作过程如下:
sudo ifconfig cni0 down
sudo ip link delete cni0
Kubernetes因限制内存配置引发的错误
现象:
原因:
内存溢出,超过limit值。
发生这样的情况的概率并不高, 一般情况下有两种类型的 oom kill。
1.由于 pod 内进程超出了 pod 指定 Limit 限制的值, 将导致 oom kill, 此时 pod 退出的 Reason 会显示 OOMKilled。
2.另一种情况是 pod 内的进程给自己设置了可用内存, 比如 jvm 内存限制设置为2G, pod Limit 设置为6G, 此时由于程序的原因导致内存使用超过2G 时, 也会引发 oom kill。
这两种内存溢出的 kill 区别是第一种原因直接显示在 pod 的 Event 里; 第二种你在 Event 里找不到, 在宿主机的 dmesg 里面可以找到 invoked oom-killer 的日志
解决方法:
调高limit值。
更多推荐
已为社区贡献3条内容
所有评论(0)