k8s-NFS系統配置

LemHou發表於2024-10-16

k8s-NFS系統配置

NFS(network filesystem),nfs檔案系統在k8s中主要用於持久化儲存,可以被多個pod訪問和共享資料。

特點

  1. 資料永續性
    nfs為k8s的pod提供了一種持久化資料的方式,即使pod被刪除,資料也不會丟失,這是因為資料存在nfs伺服器上,並不是存在pod上。
  2. 資源共享
    nfs系統的檔案可以用於多個pod共享相同的資料。

NFS服務端安裝-master節點

以centos系統為例

# 安裝nfs服務端
yum install nfs-utils -y 
# 建立共享目錄
mkdir /nfs
# 配置nfs共享
vim /etc/exports
# 新增以下一行
/nfs *(rw,sync,no_root_squash) # 指明共享目錄和許可權設定
# 啟動nfs服務,並設定開機啟動
systemctl start nfs-server
systemctl enable nfs-server
# 檢視nfs伺服器狀態
systemctl status nfs-server
# 啟動rpcbind服務,設定開機啟動
systemctl start rpcbind
systemctl enable rpcbind
# 檢視rpcbind服務狀態
systemctl status rpcbind
# 需要保證nfs伺服器能夠訪問,關閉防火牆
systemctl stop firewalld
systemctl disable firewalld

NFS客戶端安裝-work節點

以centos為例

yum install nfs-utils -y 
# 建立掛載點,掛載nfs共享
mkdir /mnt/nfs
mount -t nfs server_ip:/shared_directory /mnt/nfs
# 自動掛載
server_ip:/shared_directory /mnt/nfs nfs defaults 0 0

欄位解釋

/nfs *(rw,async,no_root_squash)
ro # 只讀
rw # 讀寫
sync # 同步寫入記憶體和硬碟
async # 非同步,優先寫入記憶體,之後寫入硬碟
Secure # 請求源埠小於1024
# 使用者許可權
root_squash # nfs客戶端使用root登入,對映到nfs伺服器的匿名使用者
no_root_squash # nfs客戶端使用root登入,對映到nfs伺服器的root使用者
all_squash # 全部使用者對映為nfs伺服器的匿名使用者
anonuid=UID # 將客戶端使用者對映為使用者ui
anongid=GID # 將客戶端使用者對映為使用者gi

相關文章