在 Kubernetes 中安装和使用 JuiceFS 存储

2023年 7月 9日 16.1k 0

JuiceFS 简介

JuiceFS 是为海量数据设计的分布式文件系统,使用对象存储来做数据持久化,避免重复造轮子,还能大大降低工程复杂度,让用户专注解决元数据和访问协议部分的难题。

使用 JuiceFS 存储数据,数据本身会被持久化在对象存储(例如,Amazon S3),而数据所对应的元数据可以根据场景需要被持久化在 Redis、MySQL、SQLite 等多种数据库中。

KubeSphere 平台介绍

KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。

KubeSphere 提供了运维友好的向导式操作界面,即便是 Kubernetes 经验并不丰富的用户,也能相对轻松的上手开始管理和使用。它提供了基于 Helm 的应用市场,可以在可视化界面下非常轻松地安装各种 Kubernetes 应用。

本教程将介绍如何在 KubeSphere 中一键部署 JuiceFS CSI Driver,为集群上的各种应用提供数据持久化。

前提条件

  • 安装 KubeSphere
  • 在 KubeSphere 中启用应用商店
  • 准备对象存储
    • 创建华为云 OBS
    • 创建秘钥

部署 Redis

Redis 是 JuiceFS 架构中的关键组件,它负责存储所有元数据并响应客户端对元数据的操作。所以在部署 JuiceFS CSI Driver 之前,需要先部署一个 Redis 数据库,部署详细步骤可参考 KubeSphere 官方文档。

部署 JuiceFS CSI Driver

KubeSphere 从 3.2.0 开始新增了 “动态加载应用商店” 的功能,合作伙伴可通过提交 PR 申请将应用的 Helm Chart 集成到 KubeSphere 应用商店,这样 KubeSphere 应用商店即可动态加载应用。目前 JuiceFS CSI Driver 的 Helm Chart 已经通过这种方式集成到了 KubeSphere 的应用商店,用户可以一键将 JuiceFS CSI Driver 部署至 Kubernetes。

首先选择您所需部署的企业空间和项目。

进入项目后,点击“创建”部署新应用。

选择“从应用商店”。

点击目标应用,然后点击“部署”。

修改 backend 参数。

验证服务。

部署有状态应用

创建有状态副本集。

添加自定义名称。

添加容器镜像。

sh,-c,while true; do echo $(date -u) >> /data/out.txt; sleep 5; done

添加存储卷模板。

检查状态。

验证存储卷

首先验证创建的 PVC 绑定状态。

kubectl get pvc -n kubesphere

进入有状态应用检查挂载状态。

登录 OBS 查看文件同步状态。

注意事项

  • JuiceFS CSI Driver 安装完成任何 namespace 都可以使用;
  • PVC 所属的 pod 归属在 JuiceFS CSI Driver 的 namespace 中;
  • 创建完应用必须进入所声明挂载的文件夹存放数据,远端存储才会同步显示。
  • 相关文章

    KubeSphere 部署向量数据库 Milvus 实战指南
    探索 Kubernetes 持久化存储之 Longhorn 初窥门径
    征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
    那些年在 Terraform 上吃到的糖和踩过的坑
    无需 Kubernetes 测试 Kubernetes 网络实现
    Kubernetes v1.31 中的移除和主要变更

    发布评论