【问题标题】:How to change helm value for persistance to use a path on a certain node如何更改 helm 值以保持持久性以使用某个节点上的路径
【发布时间】:2020-09-03 22:11:23
【问题描述】:
我只是在使用树莓派集群学习 k3s 和 Helm。我已经为其中一名工作人员添加了一个拇指驱动器,并为其提供了一个类似 /mnt/thumb 的路径,我想将来自 Node red 的数据存储在这里(实际上我在这个目录中有我希望它使用的数据)。但我似乎无法更改掌舵图以指向该特定节点上的路径以实现这一点。我正在使用this values.yaml。我尝试按照不同的说明进行操作,但没有一个有效。有人可以告诉我一个如何做到这一点的例子吗?提前致谢
【问题讨论】:
标签:
raspberry-pi
cluster-computing
kubernetes-helm
node-red
k3s
【解决方案1】:
我正在使用以下方法通过 kurlsh 使用持久卷声明将特定文件夹安装到 pod 中。它还应该与树莓上的 k3s 一起使用:
在安装 helm chart 之前,从以下 yaml 创建一个新的 Persistent 卷:
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-volume
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
storageClassName: local-volume
hostPath:
path: /mnt/thumb
您在那里所做的实际上是创建一个由文件系统上的文件夹支持的 kubernetes 卷,并为其分配一个存储类(和一个大小)。
接下来,您需要告诉 helm chart 使用刚刚创建的 storageClass 创建一个新的PersistentVolumeClaim。为此,请填写values.yaml 的persistence 部分,如下所示:
persistence:
enabled: true
storageClass: "local-volume"
accessMode: ReadWriteOnce
size: 20Gi
确保卷的大小在PersistentVolume 和values.yaml 中都匹配。
您需要仔细查看持久卷中的文件夹结构,并确保设置了文件夹的权限,以便您的 pod 可以实际将数据写入所述文件夹,但这应该足以让您开始,而不依赖花哨的第三方存储解决方案。