创建池声明时,使用Microk8s和OpenEBS cStor会导致错误有人知道为什么会这样,如何解决吗?

问题描述

我正在使用 Microk8s (在Ubuntu 20.04.1 LTS上为1.19),并尝试使用 OpenOBS (cStor引擎)进行存储。

由于在推送到prod之前在本地运行,因此我使用以下方法创建了虚拟块设备:

blockdevicedisk='/k8storage/diskimage'
blockdevicesize=10000
sudo dd if=/dev/zero of=$blockdevicedisk bs=1M count=$blockdevicesize
sudo mkfs.ext4 $blockdevicedisk
sudo losetup /dev/loop0 /k8storage/diskimage
$lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0   7:0    0  9.8G  0 loop
loop1   7:1    0  7.8G  0 loop
sda     8:0    0  256G  0 disk
sdb     8:16   0  256G  0 disk /

我安装了带舵的openebs,然后从openebs-ndm-config-> filterconfigs-> path-filter-> exclude中删除了“循环”。这样ndm会将它们显示为块设备。

$kubectl get blockdevices -n openebs
NAME                                           NODENAME   SIZE           CLAimsTATE   STATUS   AGE
blockdevice-87ca7d6819eab3ea3af2884f2f6e9f8e   v          274877906944   Unclaimed    Active   19h
blockdevice-0a6c8d26081660a37f0a87dbb316c7ae   v          10485760000    Unclaimed    Active   19h
blockdevice-cd43d37664edd1c880e11f5b8e9cbe60   v          8388608000     Unclaimed    Active   19h

^最后2个是我制作的。 然后,我编写了配置以创建cStor StoragePoolClaim

apiVersion: openebs.io/v1alpha1
kind: StoragePoolClaim
Metadata:
  name: cstor-pool-claim
spec:
  name: cstor-pool-claim
  type: disk
  poolSpec:
    poolType: striped
  blockDevices:
    blockDeviceList:
    - blockdevice-0a6c8d26081660a37f0a87dbb316c7ae
    - blockdevice-cd43d37664edd1c880e11f5b8e9cbe60

当我应用它时,两个块设备都被声明了

$kubectl get blockdevices -n openebs
NAME                                           NODENAME   SIZE           CLAimsTATE   STATUS   AGE
blockdevice-87ca7d6819eab3ea3af2884f2f6e9f8e   v          274877906944   Unclaimed    Active   19h
blockdevice-0a6c8d26081660a37f0a87dbb316c7ae   v          10485760000    Claimed      Active   19h
blockdevice-cd43d37664edd1c880e11f5b8e9cbe60   v          8388608000     Claimed      Active   19h

这是预期的。

$kubectl get spc
NAME               AGE
cstor-pool-claim   18h

但是,有问题!

$kubectl get csp
NAME                    ALLOCATED   FREE   CAPACITY   STATUS   READONLY   TYPE      AGE
cstor-pool-claim-nf0g                                 Init     false      striped   19h

它从Init状态永远不会改变。创建了一个显示错误的豆荚

$kubectl describe pod cstor-pool-claim-nf0g-6cb75f8f49-sw6q2 -n openebs

如果有帮助,我可以显示很多文字。关键部分是错误消息,它是:

错误:创建容器任务失败:OCI运行时创建失败: container_linux.go:370:启动容器过程导致: process_linux.go:459:导致容器初始化:rootfs_linux.go:59: 安装 “ /var/snap/microk8s/common/run/containerd/io.containerd.grpc.v1.cri/sandBoxes/a9b84df9076c91b83982f157e9bacdc5a10f80846d32034dd15cdae1c1d4c4c1/shm” 到“ / dev / shm”处的rootfs导致:安全连接:太多级别的 符号链接:未知

我尝试过一次重置安装程序并重新输入命令,以确保我正确地遵循了文档和其他示例,但是,我一直遇到此错误

这是对microk8的限制吗? openebs的故障?我的设置有些奇怪吗?还是我做错了什么?

更重要的是:是否有办法使它正常工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...