K8S持久化存儲之nfs
? 在 Kubernetes (k8s) 中使用 NFS(Network File System)作為存儲解決方案是一種常見的方式,特別是在需要共享存儲的場景中。以下是關于如何在 Kubernetes 中使用 NFS 存儲的詳細說明:
1. 準備 NFS 服務器
首先,你需要一個 NFS 服務器來提供共享存儲。NFS 服務器可以是一個獨立的物理機、虛擬機,或者是一個云服務。
在 Linux 上設置 NFS 服務器
-
安裝 NFS 服務器軟件包:
yum install nfs-utils -y
-
創建共享目錄:
mkdir -p /data/volumes chmod 777 /data/volumes echo 'Hello NFS' > /data/volumes/index.html
-
配置 NFS 導出:
編輯/etc/exports
文件,添加以下內容:/data/volumes *(rw,sync,no_subtree_check)
這表示將
/data/volumes
目錄共享給所有客戶端,并賦予讀寫權限。 -
重啟 NFS 服務:
systemctl restart nfs
2. 在 Kubernetes 中使用 NFS 存儲
-
創建 Pod:
創建一個nfs-pod.yaml
文件:apiVersion: v1 kind: Pod metadata:name: nfs-pod spec:containers:- name: nfs-containerimage: 172.16.80.140/nginx/nginx:1.26imagePullPolicy: ifNotPresentvolumeMounts:- name: nfs-volumesmountPath: /usr/share/nginx/htmlvolumes:- name: nfs-volumesnfs:path: /data/volumesserver: 172.16.80.131
-
應用 Pod:
kubectl apply -f nfs-pod.yaml kubectl get pods -owide
3. 驗證 NFS 存儲
你可以通過以下步驟驗證 NFS 存儲是否正常工作:
-
查看 Pod 日志:
kubectl logs nfs-pod
-
在 NFS 服務器上驗證:
在 NFS 服務器上,驗證nfs是否生效 /data/volumes/index.htmlcurl 10.244.196.133
通過以上步驟,你可以在 Kubernetes 中成功使用 NFS 作為存儲解決方案。NFS 特別適用于需要多個 Pod 共享同一存儲的場景,例如運行有狀態應用或共享配置文件等。
? nfs還可以在集群中作為共享存儲使用,比如在另外一臺節點創建目錄,掛載到nfs服務,就可以實現
mkdir /test
mount 172.16.80.131:/data/volumes /test
systemctl restart nfs