kubernetes使用阿里雲cpfs持久存儲


簡介

cpfs的具體介紹可參考這里:
https://help.aliyun.com/document_detail/111755.html?spm=a2c4g.11174283.3.1.1275c6eclqO43j

要使用cpfs存儲,需要在所有的k8s節點上安裝cpfs的客戶端。安裝cpfs客戶端本身的步驟並不復雜,但它依賴的東西讓人很煩。

它依賴於kernel-devel,同時還要求kernel, kernel-devel以及kernel-headers的版本必須完成一致。

我在使用的時候,遇到了kernel版本低於kernel-devel版本的問題,由於現在的yum源中都已經更新了kernel-devel的版本,找不到低版本的kernel-devel了,讓我不得不更新kernel和kernel-headers。問題是更新了這倆玩藝兒,就必須得重啟系統。機器一多,頭都大了。

安裝cpfs客戶端

下面還是簡單的說一下cpfs客戶端的安裝過程:

  1. cpfs 客戶端安裝
# 保持kernel kernel-devel kernel-headers的版本一致
sudo yum update kernel-devel kernel-headers

sudo yum install -y make gcc libyaml-devel libtool zlib-devel glibc-headers dkms expect

wget https://cpfs-client.oss-cn-beijing.aliyuncs.com/centos/cpfs-client-2.10.8-202.el7.tar.gz

tar xf cpfs-client-2.10.8-202.el7.tar.gz

# 這一步大概需要等待5-10分鍾
sudo rpm -vih  cpfs-client-dkms-1.0.0-202.el7.noarch.rpm
sudo rpm -vih cpfs-client-2.10.8-202.el7.x86_64.rpm

在我的環境中,之前安裝了舊版本的cpfs客戶端,一大堆的問題,現在安裝了新的還沒法生效,必須得把舊的清理干凈:


rpm -e lustre-client kmod-lustre-client

sudo lustre_rmmod;  sudo modprobe lustre
  1. 本地掛載驗證:
vim /etc/cpfs/cpfs-mounts.conf

xxx.cn-beijing.cpfs.nas.aliyuncs.com@tcp:xxx.cn-beijing.cpfs.nas.aliyuncs.com@tcp:/xxx


/etc/init.d/cpfs-client start
systemctl enable cpfs-client

這一步操作沒問題的話,就意味着客戶端正常安裝。

kubernetes使用cfs作為持久存儲

  1. 創建pv:
apiVersion: v1
kind: PersistentVolume
metadata:
  name: cpfs-pv
spec:
  capacity:
    storage: 5Ti
  accessModes:
    - ReadWriteMany
  flexVolume:
    driver: "alicloud/cpfs"
    options:
      server: xxx.cn-beijing.cpfs.nas.aliyuncs.com@tcp:xxx.cn-beijing.cpfs.nas.aliyuncs.com@tcp
      fileSystem: xxx
  1. 創建pvc:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: cpfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Ti

另外多提一嘴,這個cpfs在kubernetes中的對接,使用的是flexvolume,阿里雲這邊還建議升級flexvolume插件的版本至:v1.14.6.19-e986f6e-aliyun


免責聲明!

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



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