在聚石塔首页点击“资源视图”找到“文件存储NAS”,点击进去后,点右上角“创建文件系统”,地域及可用区选择和集群相同,创建完文件系统后,点击文件系统列表后面的“添加挂载点”,添加挂载点时所选的VPC网络要和集群所在的VPC网络保持一致,添加后点击“管理”,创建PV时的“挂载点域名”如下图红框所示(仅红框内的内容),格式如:xxxxxxxxxx-xxxxx.cn-zhangjiakou.nas.aliyuncs.com,更详细的创建文件系统过程,请参考阿里云文档:
1)管理文件系统:https://help.aliyun.com/document_detail/27530.html
3)管理挂载点: https://help.aliyun.com/document_detail/27531.html
聚石塔目前支持2种方式使用nas:
1)通过yaml原生配置方式使用nas,将nas挂载到容器中;
2)通过pv/pvc方式挂载。
目前支持两种方式创建。
1)创建部署配置,可以通过OpenApi接口:CreateDeployConfig
或 聚石塔控制台创建yaml原生部署配置。
2)在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或聚石塔控制台,将应用部署起来,部署成功即可。
1)打开【发布部署 - 部署配置 - 目录挂载】页面;
2)选择类型为“NAS静态挂载”,将“挂载点域名” 填入【挂载源】中;
备注:
映射到容器目录 为 容器内的目录,挂载源路径(最前面不要有“/”) 为 nas 中的路径。
例如:在目录 /acs/data/path1 下创建的文件 会被 写到 nas 中的 /nas/data/path1 目录下。
pv和pvc是一对一的绑定关系,一个pv只能被一个pvc绑定。
1. 通过以下任意一种方式创建pv:
a)使用OpenApi接口:CreatePersistentVolume
,创建pv。
b)使用聚石塔控制台,在【运维中心】-【集群管理】-【存储管理】中点击“创建持久化存储卷”按钮创建pv,如下图。
名词解释:
名词名称 |
名词解释 |
访问模式 |
ReadWriteOnce:该卷可以被单个节点以读/写模式挂载; ReadWriteMany:该卷可以被多个节点以读/写模式挂载; |
回收策略 |
Retain(保留):手动回收; Delete(删除):关联的存储资产将被删除; |
状态 |
Available(可用):一块空闲资源还没有被任何声明绑定; Bound(已绑定):卷已经被声明绑定; Released(已释放):声明被删除,但是资源还未被集群重新声明; Failed(失败):该卷的自动回收失败; |
挂载点域名 |
如“前提”中的步骤,找到挂载点域名。 |
存储类 |
由用户自己指定的存储类名称,例如:“storage-class-1”,建议每个pv的存储类名称唯一,名称唯一在创建pvc时,使用pv里唯一的存储类名称,可以保证相同存储类名称的pv和pvc相互绑定。 |
2. 通过以下任意一种方式创建pvc
a)使用OpenApi接口:CreatePersistentVolumeClaim
创建pvc;
b)使用聚石塔控制台,进入到某个应用的发布部署页面-【存储卷声明】点击“创建持久化存储卷声明”按钮创建pvc,如下图。
注意:pvc的存储类(StorageClass)要是pv里存在的,pvc的容量小于等于pv的容量,访问模式要和pv相同,否则系统无法将pvc绑定到pv。如上文创建pv时提到的,存储类保证唯一,在满足容量和访问模式的前提下,可以确定的将2个存储类相同的pv和pvc绑定。
3. 查询到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的名称。