我在Pod日志中看到以下错误:

, the following error information was pulled from the glusterfs log to help diagnose this issue:
[2020-01-10 20:57:47.132637] E [glusterfsd-mgmt.c:1804:mgmt_getspec_cbk] 0-glusterfs: failed to get the 'volume file' from server
[2020-01-10 20:57:47.132690] E [glusterfsd-mgmt.c:1940:mgmt_getspec_cbk] 0-mgmt: failed to fetch volume file (key:vol_32dd7b246275)

我在三台服务器(服务器1、2和3)上安装了glusterfs。我正在使用heketi进行PVC的动态配置。 PVC创建成功,但是当我尝试在该卷上装载某些东西时,pod创建显示以下状态:
kubectl get pods
NAME       READY   STATUS              RESTARTS   AGE
test-pod   0/2     ContainerCreating   0          4m22s

最佳答案

不是解决Heketi问题的答案,而是引入了一种替代解决方案,以在基于Gluster的Kubernetes中提供持久存储。

Kadalu Project(https://kadalu.io)是一个基于Gluster的解决方案,无需使用Glusterd(Gluster的管理层)即可与Kubernetes进行本地集成。

Kadalu仅需两个步骤即可提供Kubernetes存储。

使用以下命令安装Kadalu Operator:

$ kubectl create -f https://kadalu.io/operator-latest.yaml

注册您的存储设备,您可以通过它为Kubernetes中运行的应用程序提供持久卷。(使用pip3 install kubectl-kadalu在主节点中安装Kubectl插件)
$ kubectl kadalu storage-add storage-pool1 --type Replica3 \
    --device node1:/dev/vdc \
    --device node2:/dev/vdc \
    --device node3:/dev/vdc

而已!现在准备进行PV claim 。请参考此链接以快速入门https://kadalu.io/docs/quick-start

最新博客文章(https://kadalu.io/blog/kadalu-kubernetes-storage)解释了Kadalu可用的不同配置。

10-08 17:54