longhorn 1.0.0 ON rancher + k3s

鏡像準備(v1.0.0)

docker pull longhornio/longhorn-manager:master
docker pull longhornio/longhorn-ui:master
docker pull longhornio/longhorn-engine:master
docker pull longhornio/longhorn-instance-manager:v1_20200514

docker pull quay.io/k8scsi/csi-attacher:v2.0.0
docker pull quay.io/k8scsi/csi-provisioner:v1.4.0
docker pull quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
docker pull quay.io/k8scsi/csi-resizer:v0.3.0

# 保存
mkdir longhorn1.0.0/ && cd longhorn1.0.0/
docker save longhornio/longhorn-manager:master |gzip > manager.tgz
docker save longhornio/longhorn-ui:master |gzip > ui.tgz
docker save longhornio/longhorn-engine:master |gzip > engine.tgz
docker save longhornio/longhorn-instance-manager:v1_20200514 |gzip > instance.tgz

docker save quay.io/k8scsi/csi-attacher:v2.0.0 |gzip > attacher.tgz
docker save quay.io/k8scsi/csi-provisioner:v1.4.0 |gzip > provisioner.tgz
docker save quay.io/k8scsi/csi-node-driver-registrar:v1.2.0 |gzip > registrar.tgz
docker save quay.io/k8scsi/csi-resizer:v0.3.0 |gzip > resizer.tgz

push到鏡像倉庫

# load -i
ll *.tgz|awk '{print $NF}'|sed -r 's#(.*)#docker load -i \1#' |bash
# 倉庫地址
export hub=harbor.${domain}
# tag 爲私有倉庫
docker tag longhornio/longhorn-manager:master ${hub}/longhornio/longhorn-manager:v1.0.0
docker tag longhornio/longhorn-ui:master ${hub}/longhornio/longhorn-ui:v1.0.0
docker tag longhornio/longhorn-engine:master ${hub}/longhornio/longhorn-engine:v1.0.0
docker tag longhornio/longhorn-instance-manager:v1_20200514 ${hub}/longhornio/longhorn-instance-manager:v1_20200514

docker tag quay.io/k8scsi/csi-attacher:v2.0.0 ${hub}/k8scsi/csi-attacher:v2.0.0
docker tag quay.io/k8scsi/csi-provisioner:v1.4.0 ${hub}/k8scsi/csi-provisioner:v1.4.0
docker tag quay.io/k8scsi/csi-node-driver-registrar:v1.2.0 ${hub}/k8scsi/csi-node-driver-registrar:v1.2.0
docker tag quay.io/k8scsi/csi-resizer:v0.3.0 ${hub}/k8scsi/csi-resizer:v0.3.0

# push到私有倉庫
docker push ${hub}/longhornio/longhorn-manager:v1.0.0
docker push ${hub}/longhornio/longhorn-ui:v1.0.0
docker push ${hub}/longhornio/longhorn-engine:v1.0.0
docker push ${hub}/longhornio/longhorn-instance-manager:v1_20200514

docker push ${hub}/k8scsi/csi-attacher:v2.0.0
docker push ${hub}/k8scsi/csi-provisioner:v1.4.0
docker push ${hub}/k8scsi/csi-node-driver-registrar:v1.2.0
docker push ${hub}/k8scsi/csi-resizer:v0.3.0
# 清除本地緩存
docker rmi -f $(docker images |grep longhorn)
docker rmi -f $(docker images |grep k8scsi)

準備環境

所有集羣的主機:
yum install -y iscsi-initiator-utils jq

安裝

kubectl 安裝(推薦)

下載配置文件

wget https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml
wget https://raw.githubusercontent.com/longhorn/longhorn/master/uninstall/uninstall.yaml

安裝

kubectl create namespace longhorn-system
kubectl apply -f longhorn/longhorn.yaml

helm 安裝

下載資源

git clone https://github.com/longhorn/longhorn

渲染helm

helm template longhorn chart \
    --namespace longhorn-system \
    --output-dir . \
    --set defaultSettings.defaultDataPath=/home/rancher/longhorn/ \
    --set csi.attacherImage=k8scsi/csi-attacher:v2.0.0 \
    --set csi.provisionerImage=k8scsi/csi-provisioner:v1.4.0 \
    --set csi.nodeDriverRegistrarImage=k8scsi/csi-node-driver-registrar:v1.2.0 \
    --set csi.resizerImage=k8scsi/csi-resizer:v0.3.0
將渲染的輸出保存爲post-upgrade.yaml(升級) 和 uninstall.yaml(卸載)
打包後發佈到離線環境中
tar -czf longhorn.tgz ./longhorn ./uninstall-job.yaml ./postupgrade-job.yaml

安裝

kubectl create namespace longhorn-system
kubectl -n longhorn-system apply -R -f ./longhorn

rancher ui 安裝

官方說明

部署失敗的項目,‘升級’中刪除鏡像地址中的quay.io,即使用默認鏡像倉庫,即可。

補充

部署失敗的項目

原因爲鏡像指向的是quary.io,需 ’升級‘ 修改,刪除 quary.io 後重新部署即可,

kubelet配置(可選)

部署成功後修改 longhorn-driver-deployer 變量

KUBELET_ROOT_DIR=/var/lib/kubelet

卸載

kubectl & helm

# 卸載任務
kubectl create -f longhorn/uninstall.yaml
# 刪除卸載任務
kubectl delete -f longhorn/longhorn.yaml
kubectl delete -f longhorn/uninstall.yaml

rancher ui

應用中卸載即可

使用

longhorn-ui

創建負載均衡

  • 空間:longhorn-system

  • 服務:longhorn-frontend:http

PVC

  • 存儲類選擇longhorn
  • 不支持多主機讀取

參考

https://longhorn.io/docs/1.0.0/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章