kubernetes使用阿里雲cpfs持久存儲

簡介

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

要使用cpfs存儲,須要在全部的k8s節點上安裝cpfs的客戶端。安裝cpfs客戶端自己的步驟並不複雜,但它依賴的東西讓人很煩。vim

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

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

安裝cpfs客戶端

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

  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客戶端,一大堆的問題,如今安裝了新的還無法生效,必須得把舊的清理乾淨:flex

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插件

相關文章
相關標籤/搜索