1

几天前,当我的节点不断重启时,我遇到了一个问题

我的堆栈:

  • 1 个 master,2 个 worker 用 kubeadm (v1.17.1-00) 构建的 k8s-cluster

  • Ubuntu 18.04 x86_64 4.15.0-74-generic

  • 法兰绒 cni 插件 (v0.11.0)

  • 用于存储的 Rook (v1.2) cephfs。Ceph 部署在我的应用程序所在的同一个集群中

我能够运行 ceph 集群,但是当我尝试部署使用我的 rook-volumes 的应用程序时,突然我的 pod 开始死亡

kubectl describe pods/name使用命令时收到此消息:

Pod sandbox changed, it will be killed and re-created

在我得到的 k8s 事件中:

<Node name> has been rebooted

一段时间后,节点会复活,但最终会在 2-3 分钟内死亡。

我试图耗尽我的节点并连接回我的集群,但之后另一个节点出现了这个错误。

我通过命令查看了失败节点的系统错误日志journalctl -p 3

并发现,日志中充斥着这些消息:kernel: cache_from_obj: Wrong slab cache. inode_cache but object is from ceph_inode_info.

谷歌搜索这个问题后,我发现了这个问题: https ://github.com/coreos/bugs/issues/2616

事实证明,cephfs 只是不适用于某些版本的 Linux 内核!对我来说,这些都不起作用:

  • Ubuntu 19.04 x86_64 5.0.0-32-generic
  • Ubuntu 18.04 x86_64 4.15.0-74-generic
4

1 回答 1

0

解决方案

Cephfs 不适用于某些版本的 Linux 内核。升级你的内核。我终于让它在 Ubuntu 18.04 x86_64 5.0.0-38-generic 上运行

Github 问题,对我有帮助: https ://github.com/coreos/bugs/issues/2616

这确实是一个棘手的问题,我一直在努力寻找解决方案,我花了很多时间试图了解正在发生的事情。我希望这些信息对某些人有所帮助,因为谷歌上没有太多信息。

于 2020-02-04T01:56:30.447 回答