106 lines
2.7 KiB
Markdown
106 lines
2.7 KiB
Markdown
> 本文作者:丁辉
|
||
|
||
# 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} |
|
||
|
||
[官方Chart仓库](https://github.com/juicedata/charts/tree/main) [官方文档](https://juicefs.com/docs/zh/csi/introduction)
|
||
|
||
1. 添加仓库
|
||
|
||
```bash
|
||
helm repo add juicefs https://juicedata.github.io/charts/
|
||
helm repo update
|
||
```
|
||
|
||
2. 编辑 values.yaml 文件
|
||
|
||
```bash
|
||
vi juicefs-values.yaml
|
||
```
|
||
|
||
内容如下
|
||
|
||
```yaml
|
||
# 检查 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
|
||
```
|
||
|
||
3. 部署
|
||
|
||
```bash
|
||
helm install juicefs juicefs/juicefs-csi-driver \
|
||
--namespace juicefs --create-namespace \
|
||
-f juicefs-values.yaml
|
||
```
|
||
|
||
## 卸载
|
||
|
||
```bash
|
||
helm uninstall juicefs -n juicefs
|
||
```
|
||
|
||
## 动态配置
|
||
|
||
> 如果想加入动态配置可在安装之前编辑此文件添加
|
||
|
||
```bash
|
||
vi juicefs-csi-driver/templates/storageclass.yaml
|
||
```
|
||
|
||
> 此处添加:juicefs/clean-cache: "true"
|
||
>
|
||
|
||
```yaml
|
||
apiVersion: storage.k8s.io/v1
|
||
...
|
||
parameters:
|
||
juicefs/clean-cache: "true"
|
||
```
|
||
|
||
## 问题记录
|
||
|
||
> /var/lib/juicefs 是 juicefs 的缓存目录,请单独挂载磁盘(在本盘写满后才会清理,所以会导致 / 写满)
|