目錄
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