使用 KubeSphere 应用商店 5 分钟内快速部署 JuiceFS

Juicedata 2021.11.19

作者简介

  • 朱唯唯:Juicedata 全栈工程师,JuiceFS CSI Driver 项目维护者,开源爱好者。
  • 尹珉:杭州数跑科技运维工程师,KubeSphere 开源社区 Ambassador,KubeSphere 社区用户委员会杭州站站长,云原生爱好者。

JuiceFS 简介

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

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

KubeSphere 平台介绍

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

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


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

前提条件

  • 安装 KubeSphere[1]

  • 在 KubeSphere 中启用应用商店[2]

  • 准备对象存储

    • 创建华为云 OBS[3]
    • 创建秘钥[4]

部署 Redis

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

部署 JuiceFS CSI Driver

KubeSphere 从 v3.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 查看文件同步状态。

注意事项

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

作者