目录
1、简介
2、实验环境
3、应用商店中部署longhorn
4、创建工作负载,使用longhorn存储
5、查看longhorn UI
6、注意事项
1、简介:
Longhorn是RancherLab为K8S环境研发的一种分布式块存储系统。Longhorn轻便易用,你可以用Kubectl命令,在一个现有的K8S集群上快速部署。结合Rancher2.0环境中的应用商店,还可以实现一键部署,为K8S集群环境提供动态的StorageClass持久卷支持。
Longhorn使用容器和微服务方式来实现分布式块存储。它为每个块设备创建了专用存储控制器,并在多个节点上跨多个副本同步复制卷,存储控制器和副本本身也是使用K8S编排的,还支持快照和备份功能。
2、实验环境:
4台主机使用Rancher2.0搭建K8S环境,角色及基本信息如下:
机器名 IP地址 主机角色
Rancher2 192.168.3.220 Rancher Server
Node221 192.168.3.221 etcd、control、worker
Node222 192.168.3.222 etcd、control、worker
Node223 192.168.3.223 etcd、control、worker
图1-使用rancher2.0部署的K8S集群环境
3、应用商店中部署longhorn:
图02-在全局环境下启用官方认证应用商店
图03-在项目default中的应用商店中,启动longhorn应用
图04-在项目default中的应用商店中,启动longhorn应用
图05-点击启动按钮,即可完成Longhorn部署,可通过端口访问UI管理面板
图06-部署Longhorn应用以后,各主机上的Pod状态
图07-此时集群Cluster中已经自动创建好了存储类StorageClass
4、创建工作负载
图08-在项目的工作负载中,部署一个服务
图09-部署工作负载-工作负载数量只能是1个Pod
图10-部署工作负载-卷-添加新的持久化卷声明
图11-部署工作负载时,添加卷声明的设置
图12-部署工作负载时,设置挂载点后,启动工作负载2
图13-工作负载nginx部署完毕
图14-工作负载nginx容器中的目录sss
5、查看Longhorn UI
图15-在负载均衡中访问Longhorn UI
图16-LonghornUI中能看到有3台主机和刚刚创建的1个卷
图17-LonghornUI中能看到有3台主机和刚刚创建的1个卷的副本
图18-LonghornUI中卷的信息
图19-LonghornUI中卷的信息
图20-K8S集群中持久卷的信息,已包含刚刚创建的持久卷
6、注意事项:
1、因为是块设备,工作负载中的Pod数量只能是1个;
2、因为是块设备,创建持久卷声明时,只能选择单主机读写,不能像NFS那样可以多主机读写,块设备选择多主机读写会出错。
3、Longhorn是一个正在进行中的项目,目前只发布0.1/0.2/0.3这3个版本。
参考链接:
Longhorn在Github上的链接:
https://github.com/rancher/longhorn