1、介绍

这里介绍一下Rancher 开源的一款 Kubernetes 的云原生分布式块存储方案 - Longhorn的使用方式。

使用 Longhorn,可以:

  • 使用 Longhorn 卷作为 Kubernetes 集群中分布式有状态应用程序的持久存储
  • 将你的块存储分区为 Longhorn 卷,以便你可以在有或没有云提供商的情况下使用 Kubernetes 卷
  • 跨多个节点和数据中心复制块存储以提高可用性
  • 将备份数据存储在 NFS 或 AWS S3 等外部存储中
  • 创建跨集群灾难恢复卷,以便可以从第二个 Kubernetes 集群中的备份中快速恢复主 Kubernetes 集群中的数据
  • 调度一个卷的快照,并将备份调度到 NFS 或 S3 兼容的二级存储
  • 从备份还原卷
  • 不中断持久卷的情况下升级 Longhorn
  • Longhorn 还带有独立的 UI,可以使用 Helm、kubectl 或 Rancher 应用程序目录进行安装。

参考文档:https://www.qikqiak.com/k3s/storage/longhorn/

2、所有节点安装 open-iscsi nfs-utils

我的操作系统是Centos 7.9
安装 open-iscsi,并且 iscsid 守护程序在所有节点上运行,这是必要的,因为 Longhorn 依赖主机上的 iscsiadm 为 Kubernetes 提供持久卷

yum install -y iscsi-initiator-utils nfs-utils

3、部署

helm 方式

helm repo add longhorn https://charts.longhorn.io
helm repo update

helm pull longhorn/longhorn

helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace

# 开放前端页面端口
kubectl -n longhorn-system patch svc longhorn-frontend -p '{"spec":{"type":"NodePort"}}'

kubectl 方式

后续补充。。。

4.修改挂载盘

通过svc查看登录页面

[root@master ~]# kubectl get svc longhorn-frontend -n longhorn-system 
NAME                TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
longhorn-frontend   NodePort   10.109.123.14   <none>        80:30628/TCP   41m

在这里插入图片描述

将新添加的盘挂载到如下目录,并添加到开机自启中。
在这里插入图片描述

在longhorn 中添加一个,Disk,先忽略默认的disk
在这里插入图片描述

删除每台机器上默认的 /var/lib/longhorn 调度目录
添加完 Disk 后,开启调度,然后把之前的默认调度目录, Scheduling 修改为 Disable 后就可以删除默认的调度目录。
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐