搭建NFS Server


搭建NFS Server

Kubetrain K8S在線直播培訓,內推機會 不滿意可無條件退款 現在就去廣告

#背景

Kubernetes 對 Pod 進行調度時,以當時集群中各節點的可用資源作為主要依據,自動選擇某一個可用的節點,並將 Pod 分配到該節點上。在這種情況下,Pod 中容器數據的持久化如果存儲在所在節點的磁盤上,就會產生不可預知的問題,例如,當 Pod 出現故障,Kubernetes 重新調度之后,Pod 所在的新節點上,並不存在上一次 Pod 運行時所在節點上的數據。

為了使 Pod 在任何節點上都能夠使用同一份持久化存儲數據,我們需要使用網絡存儲的解決方案為 Pod 提供 數據卷。常用的網絡存儲方案有:NFS/cephfs/glusterfs。

本文介紹一種使用 centos 搭建 nfs 服務器的方法。此方法僅用於測試目的,請根據您生產環境的實際情況,選擇合適的 NFS 服務。

#配置要求

  • 兩台 linux 服務器,centos 7
    • 一台用作 nfs server
    • 另一台用作 nfs 客戶端

#配置NFS服務器

TIP

本章節中所有命令都以 root 身份執行

  • 執行以下命令安裝 nfs 服務器所需的軟件包
    yum install -y nfs-utils 
    已復制到剪貼板!
    1
  • 執行命令 vim /etc/exports,創建 exports 文件,文件內容如下:
    /root/nfs_root/ *(insecure,rw,sync,no_root_squash)
    
    已復制到剪貼板!
    1
  • 執行以下命令,啟動 nfs 服務
    # 創建共享目錄,如果要使用自己的目錄,請替換本文檔中所有的 /root/nfs_root/ mkdir /root/nfs_root systemctl enable rpcbind systemctl enable nfs-server systemctl start rpcbind systemctl start nfs-server exportfs -r 
    已復制到剪貼板!
    1
    2
    3
    4
    5
    6
    7
    8
    9
  • 檢查配置是否生效
    exportfs
    # 輸出結果如下所示 /root/nfs_root /root/nfs_root 
    已復制到剪貼板!
    1
    2
    3

#在客戶端測試nfs

TIP

本章節中所有命令都以 root 身份執行

  • 執行以下命令安裝 nfs 客戶端所需的軟件包

    yum install -y nfs-utils 
    已復制到剪貼板!
    1
  • 執行以下命令檢查 nfs 服務器端是否有設置共享目錄

    # showmount -e $(nfs服務器的IP) showmount -e 172.17.216.82 # 輸出結果如下所示 Export list for 172.17.216.82: /root/nfs_root * 
    已復制到剪貼板!
    1
    2
    3
    4
    5
  • 執行以下命令掛載 nfs 服務器上的共享目錄到本機路徑 /root/nfsmount

    mkdir /root/nfsmount # mount -t nfs $(nfs服務器的IP):/root/nfs_root /root/nfsmount mount -t nfs 172.17.216.82:/root/nfs_root /root/nfsmount # 寫入一個測試文件 echo "hello nfs server" > /root/nfsmount/test.txt 
    已復制到剪貼板!
    1
    2
    3
    4
    5
  • 在 nfs 服務器上執行以下命令,驗證文件寫入成功

    cat /root/nfs_root/test.txt 
    已復制到剪貼板!
    1

#在Kuboard中創建 NFS 存儲類


免責聲明!

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



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