Dolance 2023-07-03 09:57 采纳率: 66.7%
浏览 76
已结题

【K8S】kubeadm join添加工作节点时报错“unsupported graph driver: vfs”

请教一下,我安装K8S(kubernetes)后,在从机上执行
kubeadm join 192.168.10.160:6443 --token d2t0tj.8oxcjpfqwhlo33fa --discovery-token-ca-cert-hash 66a154ba534d76c53397992c4875d62b81558e9ef1b883ce96b6bf57c96bb759
后,出现报错:
** [ERROR SystemVerification]: unsupported graph driver: vfs**

img

我的工作节点系统是Linux3.10,Ubuntu16,arm 32位
我的Master节点系统是Linux5.x,Ubuntu22,x86
双方的kubernetes环境都是1.23.5.

疑问:
(1)我在x86架构的Ubuntu22系统中安装K8S时,故意将Docker的存储驱动修改为VFS,可以正常安装;
(2)但在arm 32位架构的工作节点中,Docker的存储驱动为VFS时,却出现了【unsupported graph driver: vfs】的报错(目前我的工作节点仅支持VFS);

请问这是什么原因呢?是否需要在工作节点的内核中添加CONFIG_AUFS_FS(AUFS存储驱动),然后将工作节点中Docker的存储驱动修改为AUFS呢?

我查了网上很多关于unsupported graph driver: vfs的解决方法,都说将Docker的存储驱动改为overlay2,但是我的工作节点时Linux3.10,而overlay2至少要到Linux4.0才被支持。其次我的工作节点是边缘网关,不方便升级内核,也不方便对内核做过大改动。

  • 写回答

9条回答 默认 最新

  • flying elbow 2023-07-03 10:01
    关注
    获得0.15元问题酬金

    这个问题可能是由于Docker存储驱动在不同架构上的支持情况不同所导致的。

    在x86架构的Ubuntu系统上,使用VFS存储驱动是可行的,因为VFS是Linux内核的一部分,因此默认情况下应该支持所有Linux架构。

    然而,在arm 32位架构的工作节点上,Docker存储驱动的选择可能受到限制。根据你提供的信息,工作节点仅支持VFS存储驱动,但报错提示"unsupported graph driver: vfs"表明该存储驱动不被支持。

    解决这个问题的一种方法是在工作节点的内核中添加支持所需存储驱动的模块,如你提到的AUFS(Another Union File System)。你可以尝试在工作节点的内核配置中启用CONFIG_AUFS_FS,然后重新编译和安装内核,以确保AUFS模块可用。

    一旦你的工作节点内核支持AUFS,你可以尝试将Docker的存储驱动修改为AUFS,看看是否能解决问题。

    评论

报告相同问题?

问题事件

  • 系统已结题 7月11日
  • 创建了问题 7月3日