本文作者:丁辉
Helm部署JuiceFS-CSI对接对象存储
介绍
JuiceFS CSI是一个遵循CSI规范的驱动程序,它实现了容器编排系统与JuiceFS文件系统之间的接口,使得Kubernetes集群能够以持久卷的形式提供给Pod使用。
开始部署
提前准备 Minio 和 Mysql 数据库
服务名 | 服务器地址:端口 | 存储库名 | 账户/密码 |
---|---|---|---|
Mysql | 192.168.1.10:3306 | juicefs | root:root |
Minio | 192.168.1.20:9000 | juicefs | ${accessKey}/${secretKey} |
添加仓库
1
2helm repo add juicefs https://juicedata.github.io/charts/
helm repo update编辑 values.yaml 文件
1
vi juicefs-values.yaml
内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33# 检查 kubelet 根目录 ps -ef | grep kubelet | grep root-dir
kubeletDir: /var/lib/kubelet
# 配置存储
storageClasses:
- name: juicefs-sc
enabled: true
reclaimPolicy: Delete
allowVolumeExpansion: true
backend:
name: "rainbond"
metaurl: "mysql://root:root@(192.168.1.10:3306)/juicefs"
storage: "s3"
# 创建 Access Keys 填写
accessKey: "${accessKey}"
secretKey: "${secretKey}"
bucket: "http://192.168.1.20:9000/juicefs?tls-insecure-skip-verify=true"
envs: "{TZ: Asia/Shanghai}"
# 关闭面板
dashboard:
enabled: false
# 配置镜像加速
sidecars:
livenessProbeImage:
repository: registry.aliyuncs.com/google_containers/livenessprobe
nodeDriverRegistrarImage:
repository: registry.aliyuncs.com/google_containers/csi-node-driver-registrar
csiProvisionerImage:
repository: registry.aliyuncs.com/google_containers/csi-provisioner
csiResizerImage:
repository: registry.aliyuncs.com/google_containers/csi-resizer部署
1
2
3helm install juicefs juicefs/juicefs-csi-driver \
--namespace juicefs --create-namespace \
-f juicefs-values.yaml
卸载
1 | helm uninstall juicefs -n juicefs |
动态配置
如果想加入动态配置可在安装之前编辑此文件添加
1 | vi juicefs-csi-driver/templates/storageclass.yaml |
此处添加:juicefs/clean-cache: “true”
1 | apiVersion: storage.k8s.io/v1 |
问题记录
/var/lib/juicefs 是 juicefs 的缓存目录,请单独挂载磁盘(在本盘写满后才会清理,所以会导致 / 写满)
I'm so cute. Please give me money.
- 本文链接: https://blog.offends.cn/Kubernetes/Helm/Helm部署JuiceFS-CSI对接对象存储.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。