目錄nginx
一、簡介git
二、實驗環境github
三、應用商店中部署longhorn負載均衡
四、建立工做負載,使用longhorn存儲分佈式
五、查看longhorn UI微服務
六、注意事項ui
一、簡介:blog
Longhorn是RancherLab爲K8S環境研發的一種分佈式塊存儲系統。Longhorn輕便易用,你能夠用Kubectl命令,在一個現有的K8S集羣上快速部署。結合Rancher2.0環境中的應用商店,還能夠實現一鍵部署,爲K8S集羣環境提供動態的StorageClass持久卷支持。部署
Longhorn使用容器和微服務方式來實現分佈式塊存儲。它爲每一個塊設備建立了專用存儲控制器,並在多個節點上跨多個副本同步複製卷,存儲控制器和副本自己也是使用K8S編排的,還支持快照和備份功能。get
二、實驗環境:
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集羣環境
三、應用商店中部署longhorn:
圖02-在全局環境下啓用官方認證應用商店
圖03-在項目default中的應用商店中,啓動longhorn應用
圖04-在項目default中的應用商店中,啓動longhorn應用
圖05-點擊啓動按鈕,便可完成Longhorn部署,可經過端口訪問UI管理面板
圖06-部署Longhorn應用之後,各主機上的Pod狀態
圖07-此時集羣Cluster中已經自動建立好了存儲類StorageClass
四、建立工做負載
圖08-在項目的工做負載中,部署一個服務
圖09-部署工做負載-工做負載數量只能是1個Pod
圖10-部署工做負載-卷-添加新的持久化卷聲明
圖11-部署工做負載時,添加捲聲明的設置
圖12-部署工做負載時,設置掛載點後,啓動工做負載2
圖13-工做負載nginx部署完畢
圖14-工做負載nginx容器中的目錄sss
五、查看Longhorn UI
圖15-在負載均衡中訪問Longhorn UI
圖16-LonghornUI中能看到有3臺主機和剛剛建立的1個卷
圖17-LonghornUI中能看到有3臺主機和剛剛建立的1個卷的副本
圖18-LonghornUI中卷的信息
圖19-LonghornUI中卷的信息
圖20-K8S集羣中持久卷的信息,已包含剛剛建立的持久卷
六、注意事項:
一、由於是塊設備,工做負載中的Pod數量只能是1個;
二、由於是塊設備,建立持久卷聲明時,只能選擇單主機讀寫,不能像NFS那樣能夠多主機讀寫,塊設備選擇多主機讀寫會出錯。
三、Longhorn是一個正在進行中的項目,目前只發布0.1/0.2/0.3這3個版本。
參考連接:
Longhorn在Github上的連接:
https://github.com/rancher/longhorn