文档中心 > 容器服务

聚石塔使用nas存储

更新时间:2020/03/17 访问次数:7877

前提

在聚石塔首页点击“资源视图”找到“文件存储NAS”,点击进去后,点右上角“创建文件系统”,地域及可用区选择和集群相同,创建完文件系统后,点击文件系统列表后面的“添加挂载点”,添加挂载点时所选的VPC网络要和集群所在的VPC网络保持一致,添加后点击“管理”,创建PV时的“挂载点域名”如下图红框所示(仅红框内的内容),格式如:xxxxxxxxxx-xxxxx.cn-zhangjiakou.nas.aliyuncs.com,更详细的创建文件系统过程,请参考阿里云文档

管理文件系统:https://help.aliyun.com/document_detail/27530.html

管理挂载点:https://help.aliyun.com/document_detail/27531.html

image.png

聚石塔目前支持2种方式使用nas:

  1. 通过yaml原生配置方式使用nas,将nas挂载到容器中。
  2. 通过pv/pvc方式挂载

 

使用yaml配置通过volume方式使用阿里云nas存储卷

  1. 创建部署配置,可以通过OpenApi接口:CreateDeployConfig 或 聚石塔控制台创建yaml原生部署配置
  1. 在Deployment配置文件中将nas挂载到容器中,如下:

 

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:        #请根据您的NAS信息配置volumeMounts节点和volumes节点。
          - name: nas1
            mountPath: "/data"
      volumes:                          
      - name: "nas1"
        flexVolume:
          driver: "alicloud/nas"
          options:
            server: "xxxxxxx-xxx.cn-hangzhou.nas.aliyuncs.com"
            path: "/k8s"
            vers: "3"
            options: "nolock,tcp,noresvport"

利用OpenApi或聚石塔控制台,将应用部署起来,部署成功即可。

 

通过pv/pvc方式挂载nas

pv和pvc是一对一的绑定关系,一个pv只能被一个pvc绑定。

  1. 通过以下任意一种方式创建pv
    1. 使用OpenApi接口:CreatePersistentVolume,创建pv。
    2. 使用聚石塔控制台,在【运维中心】-【集群管理】-【存储管理】中点击“创建持久化存储卷”按钮创建pv,如下图

image.png

 

image.png

名词解释:

【访问模式】

ReadWriteOnce:该卷可以被单个节点以读/写模式挂载;

ReadWriteMany:该卷可以被多个节点以读/写模式挂载

【回收策略】

Retain(保留):手动回收;

Delete(删除):关联的存储资产将被删除

【状态】

Available(可用):一块空闲资源还没有被任何声明绑定;

Bound(已绑定):卷已经被声明绑定;

Released(已释放):声明被删除,但是资源还未被集群重新声明;

Failed(失败):该卷的自动回收失败

【挂载点域名】

如“前提”中的步骤,找到挂载点域名

【存储类】

由用户自己指定的存储类名称,例如:“storage-class-1”,建议每个pv的存储类名称唯一,名称唯一在创建pvc时,使用pv里唯一的存储类名称,可以保证相同存储类名称的pv和pvc相互绑定。

 

  1. 通过以下任意一种方式创建pvc
    1. 使用OpenApi接口:CreatePersistentVolumeClaim 创建pvc
    2. 使用聚石塔控制台,进入到某个应用的发布部署页面-【存储卷声明】点击“创建持久化存储卷声明”按钮创建pvc,如下图

image.png

 

image.png

 

 

注意pvc的存储类(StorageClass)要是pv里存在的,pvc的容量小于等于pv的容量,访问模式要和pv相同,否则系统无法将pvc绑定到pv。如上文创建pv时提到的,存储类保证唯一,在满足容量和访问模式的前提下,可以确定的将2个存储类相同的pv和pvc绑定。

  1. 查询到pvc的状态为Bound后,表明pvc可以使用了,通过以下2种方式使用pvc:

a. 通过yaml方式,将pvc挂载到容器中,如下

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:                         
          - name: pvc-nas
            mountPath: "/data"
      volumes:
        - name: pvc-nas
          persistentVolumeClaim:
            claimName: pvc-nas

 

b. 通过聚石塔控制台发布部署中,部署配置里的目录挂载,将pvc挂载到容器里,如下图,“挂载源”一列填创建好的pvc的名称。

image.png

FAQ

关于此文档暂时还没有FAQ
返回
顶部