全部产品
Search
文档中心

挂载NAS(非PVC)

更新时间: 2022-05-19

NAS是阿里云提供的一种可共享访问、弹性扩展、高可靠以及高性能的分布式文件系统。您可以通过FlexVolume在自建的Kubernetes集群使用阿里云NAS作为Volume。本文为您介绍如何使用非PVC方式,挂载NAS到ECI Pod上。

前提条件

  • 自建Kubernetes集群中已部署VNode。

  • 如果您的Kubernetes集群部署在线下IDC,请确保已打通IDC与阿里云的网络。

注意事项

  • NAS为共享存储,一个NAS可以挂载到多个Pod上。此时,如果多个Pod同时修改相同数据,需要应用自行执行数据同步。

  • 在卸载NAS前,请勿删除NAS挂载点,否则可能会造成操作系统无响应。

操作步骤

  1. 创建NAS文件系统和挂载点。

    1. 登录NAS控制台

    2. 创建NAS文件系统,并添加挂载点。

      NAS文件系统和挂载点必须与VNode处于同一VPC内。具体操作,请参见创建文件系统管理挂载点

  2. 准备YAML。

    将以下内容保存为test-flex-nas.yaml。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test-flex-nas
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          nodeSelector:    
            k8s.aliyun.com/vnode: "true"
          tolerations:     
          - key: k8s.aliyun.com/vnode
            operator: "Equal"
            value: "true"
            effect: "NoSchedule"
          containers:
          - name: nginx
            image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
            volumeMounts:
              - name: cache-volume
                mountPath: /cache-test
          volumes:
            - name: cache-volume
              flexVolume:
                driver: alicloud/nas
                fsType: nfs
                options:
                  server: "0389***-nh7m.cn-beijing.extreme.nas.aliyuncs.com"
                  path: "/"
                  vers: "3"
                  options: "nolock,tcp,noresvport"

    options中需配置NAS相关参数,说明如下:

    参数

    描述

    server

    NAS的挂载点地址。

    path

    挂载子目录。极速型NAS需要以/share为父目录,例如/share/path1

    vers

    挂载NAS的NFS协议版本号。推荐使用v3,极速型NAS仅支持v3。

  3. 创建ECI Pod并挂载NAS。

    kubectl create -f test-flex-nas.yaml
  4. 查看结果。

    kubectl get pods -o wide

    预期返回:

    NAME                             READY   STATUS    RESTARTS   AGE     IP              NODE                                  NOMINATED NODE   READINESS GATES
    test-flex-nas-76dcdd796c-dg7k8   1/1     Running   0          87s     172.16.XX.XXX   cn-beijing.vnd-2zedtmwhcv8kbuou****   <none>           <none>
    test-flex-nas-76dcdd796c-sxx86   1/1     Running   0          87s     172.16.XX.XXX   cn-beijing.vnd-2zedtmwhcv8kbuou****   <none>           <none>

    查看Pod中的文件目录,可以看到已生成NAS对应的挂载目录/cache-test,且第一个Pod中写入的文件可以在第二个Pod中查看,即两个Pod共享使用NAS存储。

    nas存储-flex