ACS CPU Pod挂载CPFS

更新时间:
复制为 MD 格式

本文介绍如何在ACS集群中为CPU Pod挂载CPFS(Cloud Parallel File Storage)智算版文件系统。

创建CPFS文件系统挂载点

CPFS控制台创建CPFS智算版文件系统实例并添加VPC挂载点,选择ACS集群对应VPC。

仅支持CPU工作负载(general-purpose、performance)挂载。
  1. 登录文件系统控制台,在顶部导航栏选择对应地域。

  2. 文件系统列表页面,找到目标CPFS文件系统。若挂载点数量为0,则执行第3步添加挂载点;若已有挂载点,则执行第4步。

  3. 在目标文件系统所在行,单击挂载点列下的添加,在弹窗中选择对应ACS集群的VPC网络交换机,单击确定,等待挂载点创建完成。

    ACS关联的VPC可在集群详情页,集群信息导航栏的基本信息页签查看。
  4. 单击对应的文件系统ID,进入挂载使用 > 挂载点页面,单击挂载点列中的复制按钮,获取挂载点地址,示例格式如下:cpfs-xxxxxxxxxxxx-vpc-xxxxxxx.cn-wulanchabu.cpfs.aliyuncs.com

创建CPFSPVPVC

需替换以下YAML中的挂载点地址,对应字段为spec.csi.volumeAttributes.server。将内容保存为YAML文件,然后执行kubectl apply -f命令。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: bmcpfs-vpc
  labels:
    alicloud-pvname: bmcpfs-vpc
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 100Gi
  storageClassName: test # 自定义名称,用于手动绑定PV与PVC,无需预先创建StorageClass资源
  csi:
    driver: nasplugin.csi.alibabacloud.com
    volumeAttributes:
      mountProtocol: efc
      path: "/"
      # 关键:server 地址替换为上一步获取的 cpfs 的挂载点地址
      server: "cpfs-xxxxxxxxxxxx-vpc-xxxxxxx.cn-wulanchabu.cpfs.aliyuncs.com"
    volumeHandle: bmcpfs-vpc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: bmcpfs-vpc
spec:
  selector:
    matchLabels:
      alicloud-pvname: bmcpfs-vpc
  accessModes:
  - ReadWriteMany
  storageClassName: test
  volumeName: bmcpfs-vpc
  resources:
    requests:
      storage: 100Gi

创建工作负载并关联PVC

以下为Deployment示例,挂载了步骤二中创建的CPFS PVC(bmcpfs-vpc),容器内的挂载路径为/mnt

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        alibabacloud.com/compute-class: general-purpose
        alibabacloud.com/compute-qos: default
        app: test
    spec:
      # affinity:
      #   nodeAffinity:
      #     requiredDuringSchedulingIgnoredDuringExecution:
      #       nodeSelectorTerms:
      #       - matchExpressions:
      #         - key: topology.kubernetes.io/zone
      #           operator: In
      #           values:
      #           - cn-wulanchabu-c # 与CPFS文件系统在同一可用区以提供最佳性能
      containers:
      - command:
        - sleep
        - infinity
        image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
        imagePullPolicy: Always
        name: test
        resources:
          requests:
            cpu: 500m
            memory: 512Mi
        volumeMounts:
        - mountPath: /mnt
          name: cpfs
      volumes:
      - name: cpfs
        persistentVolumeClaim:
          claimName: bmcpfs-vpc