先伺服器:
https://kubesphere.io/zh/docs/v3.3/reference/storage-system-installation/nfs-server/
後用戶端:
https://kubesphere.io/zh/docs/v3.3/installing-on-linux/persistent-storage-configurations/install-nfs-client/
按照連結操作以後,在使用者端上面把目錄掛載到伺服器端
root@client_banana:/# mount 172.25.110.41:/mnt/nfs_share /mnt/client_floder
使用者端: mount <server-ip>:<the_share_dir_onserver> <local_share_dir>
#檢查nfs的狀態
service nfs-server status
# 停止nfs
service nfs-server stop
# 啟動nfs
service nfs-server start
nfs-server、nfs-client已經安裝完畢並掛載
參考Helm官方檔案:https://helm.sh/zh/docs/intro/install/
筆者使用的是Ubuntu,所以採用如下命令安裝:
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
提示:該外掛要求
Kubernetes >=1.9
,按照版本號命名規則來看,主版本號是1,次版本號是9,所以我們之前選擇的k8s版本是v1.21.5是沒問題的。
版本號命名規則:主版本號.次版本號.修補程式號
$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
$ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=x.x.x.x \
--set nfs.path=/exported/path
把 nfs.server 修改成自己的nfs.server的IP。 nfs.path 改成共用目錄的路徑
寫錯路徑或者主機以後,想再執行一次命令,需要先刪除之前部署失敗的package
報錯資訊:
Error: INSTALLATION FAILED: cannot re-use a name that is still in use
//檢視fail的包在哪
helm ls --all-namespaces
//刪除該包
helm -n <namespace> delete <package-name>
預設映象地址是:registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
可能會出現映象拉取失敗的情況。
去dockerhub上尋找相同版本的即可。我採用的是以下版本:
dyrnq/nfs-subdir-external-provisioner:v4.0.2
kubectl get sc
可以看到已經有一個叫 nfs-share 的StorageClass。
如果是k8sp平臺,可以去建立一個pvc,再去虛機裡自己設定的共用目錄檢視一下有沒有相應的pvc。該步驟省略。