k8s的儲存方式簡述


pod中的存儲卷類型:
1.emptyDir:用於臨時儲存空間,無持久性儲存功能,生命周期同pod容器,pod刪除后,數據不再存在。
2.gitRepo:pod創建時,自動將雲端倉庫中的文件克隆到pod掛載的目錄中,pod運行后,不會自主同步雲端倉庫的內容,有需要的話可以通過pod容器添加sidecar,來輔助完成此任務。
3.hostPath:在pods所在節點創建存儲卷掛載到pod指定掛載目錄中,但是如果節點宕機,數據也可能丟失。
4.nfs:在各個節點共享存儲卷到指定pod掛載點
   (1)在其中一個節點上下載nfs:yum -y install nfs-utils
   (2)在這個節點上創建共享目錄:mkdir /data/volumes
   (3)編輯vi /etc/exports,把目錄共享出去。編輯內容:共享的目錄地址   共享給哪個主機或網段(rw,no_root_squash)(讀寫,壓縮權限)
   (4)啟動服務 systemctl start nfs nfs監聽2049端口
   (5)在其他節點上掛載共享的目錄:mount -t 文件類型(nfs) 共享目錄url 掛載點目錄  然后df -hT查看
   (6)在編輯資源清單時在spec.template.spec.下添加volumes字段。

具體資源清單:

 1 apiVersion: extensions/v1beta1
 2 kind: Deployment
 3 metadata:
 4   name: myapp-nfs
 5   namespace: default
 6 spec:
 7   selector:
 8     matchLabels:
 9       app: pod
10       san: tom
11   replicas: 2
12   template:
13     metadata:
14       name: pod-nfs
15       namespace: default
16       labels:
17         app: pod
18         san: tom
19     spec:
20       containers:
21       - name: myapp-nfs
22         image: ikubernetes/myapp:v1
23         volumeMounts:
24         - name: html
25           mountPath: /usr/share/nginx/html/
26       volumes:
27       - name: html
28         nfs:
29           path: /data/volumes
30           server: k8s-node2

 


    (7)應用資源清單:kubectl apply -f 資源清單名
    (8)在共享目錄/data/volumes/下創建測試頁面:echo "<h1>NFS smbands</h1>" >/data/volumes/index.html
    (9)查看pod kubectl get pods -owide
    (10)測試:curl podip
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM