首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试Kubeadm init时,在SLES中出现错误"unsupported graph driver: btrfs“

尝试Kubeadm init时,在SLES中出现错误"unsupported graph driver: btrfs“
EN

Stack Overflow用户
提问于 2019-08-21 18:06:39
回答 2查看 2.1K关注 0票数 0

我尝试在SLES上安装Kuberneties集群。但是当我使用下面的命令执行Kubeadm init时,它给出了给定的错误。

Kubeadm init

代码语言:javascript
复制
kubeadm init  --pod-network-cidr=10.244.0.0/16 --kubernetes-version=1.15.3

错误

代码语言:javascript
复制
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR SystemVerification]: unsupported graph driver: btrfs
    [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

在SLES中,默认文件系统是btrfs。因此,根据我在下面的/etc/ docker /daemon.json中添加的官方docker文档Get Docker EE for SLES

代码语言:javascript
复制
{
  "storage-driver": "btrfs"
}

那么问题出在哪里呢?需要你的帮助。

*********************************EDITED*************************************

Docker状态

代码语言:javascript
复制
systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/docker.service.d
           └─flannel.conf
   Active: active (running) since Thu 2019-08-22 17:21:59 CST; 1h 21min ago
     Docs: https://docs.docker.com
 Main PID: 3188 (dockerd)
    Tasks: 24
   Memory: 52.9M
      CPU: 1.723s
   CGroup: /system.slice/docker.service
           └─3188 /usr/bin/dockerd --insecure-registry 192.***.***.***:***

Docker信息

代码语言:javascript
复制
Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 1
Server Version: 18.09.4
Storage Driver: btrfs
 Build Version: Btrfs v4.9.1
 Library Version: 102
Logging Driver: json-file
Cgroup Driver: cgroupfs

Docker-ee版本。

代码语言:javascript
复制
Client:
 Version:           18.09.4
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        c3516c4
 Built:             Wed Mar 27 18:11:35 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Enterprise
 Engine:
  Version:          18.09.4
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       c3516c4
  Built:            Wed Mar 27 18:05:47 2019
  OS/Arch:          linux/amd64
  Experimental:     false

df -Th

代码语言:javascript
复制
/dev/mapper/data_vg-var            btrfs      **G  407M   **G   1% /var
/dev/mapper/data_vg-var_lib        btrfs      **G  232M   **G   1% /var/lib
/dev/mapper/data_vg-var_lib_docker btrfs      **G   17M   **G   1% /var/lib/docker

sudo cat /proc/filesystems | grep btrfs

代码语言:javascript
复制
# sudo cat /proc/filesystems | grep btrfs
    btrfs

编辑/etc/docker/daemon.json,如下所示

代码语言:javascript
复制
{
  "storage-driver": "btrfs"
}

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-08-22 17:36:08

错误主要发生在文档中的prerequisites steps没有被覆盖的时候,所以请检查您是否拥有它们:

  • 安装Docker
  • Btrfs需要一个专用的块设备(如物理磁盘),该设备必须针对Btrfs进行格式化并挂载到Docker中,支持必须存在于内核中。要检查这一点,请运行以下命令:$ sudo cat /proc/filesystems | grep btrfs
  • you需要btrfs命令。如果没有此命令,请安装btrfsprogs软件包(用于SLES)

然后请按照配置Docker中的步骤使用btrfs存储驱动程序一节,如果问题仍然存在,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2019-08-23 16:52:43

这是问题所在。

默认情况下,SLES使用btrfs。此文件系统不支持docker“overlay”驱动程序,因此在/var/lib/docker中使用etx4是明智的。

即使我们告诉Docker关于BTRFS:

https://docs.docker.com/storage/storagedriver/btrfs-driver/

Kubeadm仍然会抱怨。

因此在/var/lib/docker中使用etx4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57589205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档