步骤一:云控制台创建文件系统
如果需要使用已有的文件系统可以跳过这一步;
登陆AWS console EFS 地区,点击”创建文件系统“,
需要注意的点:网络,子网网段选择与node一致的。可以不需要加密,节点池是多可用区的,efs 最好也是多区的。
步骤二:登录集群内任意一台节点
#进入实例后首先执行:sudo yum install -y amazon-efs-utils ,安装EFS工具包
$ sudo yum install -y amazon-efs-utils
$ cd /tmp
$ mkdir abc
#第二步执行:sudo mount -t efs -o tls fs-125465435:/ abc #abc为该文件系统挂载在EC2实例上的目录。
$ sudo mount -t efs -o tls fs-125465435:/ abc
$ df -h
查看文件系统是否挂载成功
eg:如图所示挂载成功
之后进入挂载目录,创建PV挂载所需的文件夹:
$ cd abc
$ ls
$ mkdir midway-uploads // PV挂载目录
步骤三:编辑配置文件
PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-kolsystem-sg #可修改
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 2Gi
csi:
driver: efs.csi.aws.com
volumeHandle: fs-125465435:/midway-uploads #可修改 “fs-125465435”为EFS文件系统创建的文件id,"/midway-uploads"为实例挂载的根目录下创建的挂载目录
persistentVolumeReclaimPolicy: Retain
storageClassName: efs-sc
volumeMode: Filesystem
PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-kolsystem-data #可修改
namespace: kol-system-sg #根据具体的namespace环境进行配置
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 2Gi
storageClassName: efs-sc
volumeMode: Filesystem
volumeName: pv-kolsystem-sg #与创建的PV的名称一致。
步骤四:应用配置文件
$ vim pv-name1.yaml #将上步编辑好的配置文件填入
$ vim pvc-name1.yaml
$ kubectl apply -f pv-name1.yaml #应用在集群内
$ kubectl apply -f pvc-name1.yaml