挂载NAS

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

前提条件

集群中已正确部署Virtual kubelet(VK)。

说明

ASK集群已默认集成VK,其它集群需要您自行部署VK。更多信息,请参见对接概述

注意事项

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

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

配置示例

  1. 获取NAS文件系统的挂载点信息。

    如果您没有创建NAS文件系统和挂载点,请先在NAS控制台创建。创建时,请选择集群所在地域,集群所属的VPC。具体操作,请参见创建文件系统管理挂载点

    1. 登录NAS控制台

    2. 选择集群所属地域。

    3. 文件系统列表页面,找到目标NAS文件系统,单击文件系统ID。

    4. 在文件系统详情页,选择挂载使用,然后在右侧挂载点地址处,复制挂载点地址。

  2. 准备YAML。

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

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test-ack-nas
      labels:
        alibabacloud.com/eci: "true"
    spec:
      replicas: 2
      selector:
        matchLabels:
          alibabacloud.com/eci: "true"
      template:
        metadata:
          labels:
            alibabacloud.com/eci: "true"
        spec:
          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
              csi:
                driver: nasplugin.csi.alibabacloud.com
                fsType: nas
                volumeAttributes:
                  server: "0389a***-nh7m.cn-beijing.extreme.nas.aliyuncs.com"
                  path: "/"
                  vers: "3"
                  options: "nolock,tcp,noresvport"

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

    参数

    描述

    server

    NAS的挂载点地址。

    path

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

    vers

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

    options

    挂载选项。建议使用NAS服务推荐选项,例如nolock,tcp,noresvport

  3. 创建ECI Pod并挂载NAS。

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

    kubectl get pods -o wide

    预期返回:

    NAME                            READY   STATUS    RESTARTS   AGE   IP              NODE                           NOMINATED NODE   READINESS GATES
    test-ack-nas-6bb987f4b8-mc7px   1/1     Running   0          64s   172.16.XX.XXX   virtual-kubelet-cn-beijing-k   <none>           <none>
    test-ack-nas-6bb987f4b8-vnl7c   1/1     Running   0          64s   172.16.XX.XXX   virtual-kubelet-cn-beijing-k   <none>           <none>

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

    ACK存储NAS
阿里云首页 弹性容器实例 相关技术圈