Kubernetes 如何安装带有microk8s的mayastor for openebs以用作PV/SC?
我有一个3节点的microk8s集群运行在virtualbox Ubuntu虚拟机上。我正试图让mayastor的开场白与PVC配合使用。我遵循了本指南中的步骤: 步骤3中的MayastorPool示例如下所示:Kubernetes 如何安装带有microk8s的mayastor for openebs以用作PV/SC?,kubernetes,microk8s,openebs,Kubernetes,Microk8s,Openebs,我有一个3节点的microk8s集群运行在virtualbox Ubuntu虚拟机上。我正试图让mayastor的开场白与PVC配合使用。我遵循了本指南中的步骤: 步骤3中的MayastorPool示例如下所示: apiVersion: "openebs.io/v1alpha1" kind: MayastorPool metadata: name: pool-on-node1-n2 namespace: mayastor spec: node: node1
apiVersion: "openebs.io/v1alpha1"
kind: MayastorPool
metadata:
name: pool-on-node1-n2
namespace: mayastor
spec:
node: node1
disks: [ "/dev/nvme0n2" ]
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: mayastor-3
provisioner: io.openebs.csi-mayastor
parameters:
repl: '3'
protocol: 'nvmf'
ioTimeout: '60'
local: 'true'
volumeBindingMode: WaitForFirstConsumer
我的StorageClass如下所示:
apiVersion: "openebs.io/v1alpha1"
kind: MayastorPool
metadata:
name: pool-on-node1-n2
namespace: mayastor
spec:
node: node1
disks: [ "/dev/nvme0n2" ]
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: mayastor-3
provisioner: io.openebs.csi-mayastor
parameters:
repl: '3'
protocol: 'nvmf'
ioTimeout: '60'
local: 'true'
volumeBindingMode: WaitForFirstConsumer
根据指南,所有的检查似乎都很好,但当我尝试创建一个PVC并按照这个方法使用它时,测试应用程序fio pod并没有出现。当我用descripe查看它时,我看到以下内容:
$kubectl描述飞机场-n mayastor的吊舱
Name: fio
Namespace: mayastor
Priority: 0
Node: node2/192.168.40.12
Start Time: Wed, 02 Jun 2021 22:56:03 +0000
Labels: <none>
Annotations: <none>
Status: Pending
IP:
IPs: <none>
Containers:
fio:
Container ID:
Image: nixery.dev/shell/fio
Image ID:
Port: <none>
Host Port: <none>
Args:
sleep
1000000
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l6cdf (ro)
/volume from ms-volume (rw)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
ms-volume:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: ms-volume-claim
ReadOnly: false
kube-api-access-l6cdf:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: openebs.io/engine=mayastor
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 44m default-scheduler Successfully assigned mayastor/fio to node2
Normal SuccessfulAttachVolume 44m attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-ec6ce101-fb3e-4a5a-8d61-1d228f8f8199"
Warning FailedMount 24m (x4 over 40m) kubelet Unable to attach or mount volumes: unmounted volumes=[ms-volume], unattached volumes=[kube-api-access-l6cdf ms-volume]: timed out waiting for the condition
Warning FailedMount 13m (x23 over 44m) kubelet MountVolume.SetUp failed for volume "pvc-ec6ce101-fb3e-4a5a-8d61-1d228f8f8199" : rpc error: code = Internal desc = Failed to find parent dir for mountpoint /var/snap/microk8s/common/var/lib/kubelet/pods/b1166af6-1ade-4a3a-9b1d-653151418695/volumes/kubernetes.io~csi/pvc-ec6ce101-fb3e-4a5a-8d61-1d228f8f8199/mount, volume ec6ce101-fb3e-4a5a-8d61-1d228f8f8199
Warning FailedMount 4m3s (x13 over 42m) kubelet Unable to attach or mount volumes: unmounted volumes=[ms-volume], unattached volumes=[ms-volume kube-api-access-l6cdf]: timed out waiting for the condition
名称:fio
名称空间:mayastor
优先级:0
节点:node2/192.168.40.12
开始时间:2021年6月2日星期三22:56:03+0000
标签:
注释:
状态:待定
知识产权:
IPs:
容器:
fio:
容器ID:
图片:nixery.dev/shell/fio
图像ID:
端口:
主机端口:
Args:
睡觉
1000000
国家:等待
原因:集装箱制造
就绪:错误
重新启动计数:0
环境:
挂载:
/来自kube-api-access-l6cdf(ro)的var/run/secrets/kubernetes.io/serviceCount
/来自ms卷的卷(rw)
条件:
类型状态
初始化为True
准备错误
集装箱准备好了吗
播客预定为真
卷数:
ms卷:
类型:PersistentVolumeClaim(对同一命名空间中PersistentVolumeClaim的引用)
索赔名称:ms批量索赔
只读:false
kube-api-access-l6cdf:
类型:投影(包含来自多个源的注入数据的卷)
令牌过期秒数:3607
ConfigMapName:kube-root-ca.crt
配置映射可选:
向下API:正确
QoS等级:最佳努力
节点选择器:openebs.io/engine=mayastor
容差:node.kubernetes.io/未就绪:NoExecute op=存在300秒
node.kubernetes.io/unreachable:NoExecute op=存在300秒
活动:
从消息中键入原因年龄
---- ------ ---- ---- -------
正常调度的44m默认调度程序已成功将mayastor/fio分配给节点2
正常成功附加卷44m附加附加附加控制器附加卷。附加卷“pvc-ec6ce101-fb3e-4a5a-8d61-1d228f8f8199”成功
警告失败装载24m(x4/40m)kubelet无法连接或装载卷:未安装的卷=[ms卷],未连接的卷=[kube-api-access-l6cdf ms卷]:等待条件时超时
警告失败安装13m(x23超过44m)kubelet安装卷。卷“pvc-ec6ce101-fb3e-4a5a-8d61-1d228f8f8199”的安装失败:rpc错误:code=Internal desc=找不到挂载点/var/snap/microk8s/common/var/lib/kubelet/pods/b1166af6-1ade-4a3a-9b1d-653151418695/volumes/kubernetes.io的父目录/csi/pvc-ec6ce101-fb3e-4a5a-8d61-1d228f8f8199/挂载,卷ec6ce101-fb3e-4a5a-8d61-1d228f8199
警告失败装载4m3s(x13超过42m)kubelet无法连接或装载卷:未安装的卷=[ms卷],未连接的卷=[ms卷kube-api-access-l6cdf]:等待条件时超时
有什么想法可以让mayastor使用microk8s去哪里看或者做什么?很高兴发布更多信息。感谢Kiran Mova的评论和openebs slack频道的Niladri: 替换步骤: 与
因此,将路径替换为microk8s安装特定路径。即使有一个符号链接,如果不进行此更改,事情似乎也不会正常进行。您如何在集群上创建可供PVC使用的持久卷?您是否使用了CSI驱动程序路径的正确位置,以包括
/var/snap/microk8s/common/var/lib/kubelet/plugins/
@KiranMova microk8s似乎取得了成功来自/var/lib/kubelet->/var/snap/microk8s/common/var/lib/kubelet的simlink。我可以看到插件目录中有一个mayastor.openebs.io目录,其中有一个csi.sock。@ssc327我正在使用MayastorPool和StorageClass,如中所述-我将把它们添加到上述问题的描述中。