K8S使用羣暉DS218+的NFS

羣暉和K8S+

  1. 學習K8S時經常用到網絡存儲,於是想找個穩定的NFS服務,正好家裏的羣暉DS218+長期開着,空間又充足,用來提供NFS服務挺合適,本文就是設置和使用的過程備忘;
  2. 下圖是DS218+剛買來的樣子,兩塊NAS硬盤,一直在穩定服務:
    在這裏插入圖片描述

全文概覽

  1. 設置NFS;
  2. NFS客戶端安裝NFS應用;
  3. K8S上的設置;
  4. 創建存儲卷;
  5. 創建Tomcat
  6. 訪問Tomcat服務

環境信息

  1. 羣暉系統:DSM 6.2.2-24922 Update 4
  2. Kubernetes:1.15
  3. Kubernetes宿主機:CentOS Linux release 7.7.1908
  4. Helm:2.16.1

參考文章

本文重點是K8S實戰,因此需要一定K8S基礎,請參考:

  1. 《kubespray2.11安裝kubernetes1.15》
  2. 《部署和體驗Helm(2.16.1版本)》
  3. 《Ubuntu16環境安裝和使用NFS》

如果您已經準備好了羣暉、K8S、Helm,咱們就來實戰吧。

設置NFS

  1. 網頁登錄羣暉,控制面板->共享文件夾
    在這裏插入圖片描述
  2. 新增共享文件夾:
    在這裏插入圖片描述
  3. 接下來是加密設置,這裏爲不設置加密,直接點擊下一步
    在這裏插入圖片描述
  4. 高級設置頁面,請按需設置,這裏爲了簡單直接下一步
    在這裏插入圖片描述
  5. 點擊應用即可創建文件夾,然後做NFS設置,如下圖:
    在這裏插入圖片描述
  6. 如下圖,記下紅框1中的NFS路徑/volume1/nfs-tomcat(後面會用到),然後點擊紅框2:
    在這裏插入圖片描述
  7. 除了NFS設置,還要給這個文件夾設置權限,否則遠程寫入的時候會報錯,如下圖,打開File Station即可看到紅框2中的nfs-tomcat,這就是NFS目錄對應的本地磁盤目錄,在上面點擊鼠標右鍵,選擇屬性
    在這裏插入圖片描述
  8. 在彈出的屬性頁面,增加一個權限配置,請按照您的實際需要設置,這裏爲了省事兒設爲任何人都能操作:
    在這裏插入圖片描述
    至此,羣暉上的NFS設置完畢,接下來在K8S運行一個應用,使用這個NFS存儲;

NFS客戶端安裝

NFS的使用者需要安裝客戶端,這裏是K8S要用NFS,因此要在K8S宿主機上安裝客戶端應用,對CentOS來說就是執行命令:yum install nfs-utils -y

創建存儲卷(PersistentVolume簡稱PV)

PV是K8S裏常用的存儲類型,這裏創建一個NFS類型的PV:

  1. SSH登錄K8S;
  2. 創建namespace:kubectl create namespace tomcat-test
  3. 新建名爲tomcat-test-pv.yaml的文件,內容如下,注意nfs.server的值,是羣暉的IP地址,nfs.path的值就是前面創建共享文件時記下來的/volume1/nfs-tomcat
apiVersion: v1
kind: PersistentVolume
metadata:
 name: pv-tomcat-test
 namespace: tomcat-test
 labels:
   pv: pv-tomcat-test
spec:
 capacity:
   storage: 10Gi
 accessModes:
   - ReadWriteOnce
 persistentVolumeReclaimPolicy: Recycle
 nfs:
   path: /volume1/nfs-tomcat
   server: 192.168.50.42
  1. 創建PV:kubectl apply -f tomcat-test-pv.yaml
  2. 查看PV,如下圖,名爲pv-tomcat-test的PV狀態爲Available,表示空閒狀態,可以被K8S使用:
    在這裏插入圖片描述
  3. 現在PV創建成功,接下來通過Helm創建tomcat,來使用這個PV;

創建Tomcat

  1. 增加helm倉庫(帶有tomcat的倉庫):helm repo add bitnami https://charts.bitnami.com/bitnami
  2. 下載tomcat的chart:helm fetch bitnami/tomcat
  3. chart下載成功後,當前目錄出現tomcat配置壓縮包tomcat-6.2.4.tgz,解壓:tar -zxvf tomcat-6.2.4.tgz
  4. 解壓後出現tomcat文件夾,進去後打開文件templates/pvc.yaml,所有內容保持不變,僅在末尾添加下圖紅框中的內容:
    在這裏插入圖片描述
  5. 上圖紅框中的內容很好理解:增加選擇器,用上剛纔創建的PV
  6. 回到tomcat文件夾下面,執行命令創建tomcat:helm install --name-template tomcat001 -f values.yaml . --namespace tomcat-test
  7. 查看PV狀態,可見已經被使用(另一個PV仍舊是空閒狀態,說明在pvc.yaml中設置的選擇器是有效的):
    在這裏插入圖片描述
  8. 繼續查看pod和service,一切正常,同時發現tomcat的服務端口被映射到宿主機的30512端口:
    在這裏插入圖片描述
  9. 瀏覽器訪問宿主機IP:30512,可以正常打開tomcat歡迎頁面:
    在這裏插入圖片描述
  10. 回到羣暉網頁,打開File Station,可見nfs-tomcat目錄下已經寫入了很多內容,都是tomcat的內部文件:
    在這裏插入圖片描述
    至此,K8S成功的用上了羣暉提供的NFS服務,在今後的K8S學習中,有了穩定的NFS服務,並且得益於羣暉文件系統的安全性,數據安全性也有了提升;

歡迎關注我的公衆號:程序員欣宸

在這裏插入圖片描述

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