前言
今天接到一个将 NAS 数据卷挂载到 Kubernetes 集群的需求,需要将一个 NAS 数据卷挂载到集群中。这一很简单的操作由于好久没有操作了,去翻看了一下官方文档,发现官方文档还在停留在去年7月份…为了防止之后还有相似情况的发生,这里将所有操作做一个简单记录。
购买存储包(创建文件系统)
在挂载 NAS 之前,首先要先购买 NAS 文件存储,这里推荐购买存储包,100G 的 SSD 急速型一年只需1400多,而容量型只要279,对于我这种只有少量 NAS 存储需求的人来说是是靠谱的,因为我只需要5G的左右的存储空间,SSD 急速型 NAS 一年只要18块,完美。
选择想要创建 NAS 所在 VPC 和 区域
添加挂载点
点击添加挂载点
选择 VPC 网络、交换机和权限组
Linux 挂载 NAS 数据卷
在挂载点创建成功后,就可以将 NAS 数据卷挂载到 Linux 系统,这里以 CentOS 为例:
安装 NFS 客户端
如果 Linux 系统要挂载 NAS ,首先需要安装 NFS 客户端
sudo yum install nfs-utils
挂载 NFS 文件系统
这里阿里云早就进行了优化,点击创建的文件系统,页面上就可以 copy 挂载命令。页面提供了挂载地址的 copy 和挂载命令的 copy 功能。
挂载命令:
sudo mount -t nfs -o vers=4,minorversion=0,noresvport xxxxx.cn-shanghai.nas.aliyuncs.com:/ /mnt
查看挂载结果
直接在挂载数据卷所在服务上执行命令:
df -h
就可以看到结果:
Kubernetes 集群挂载 NAS 数据卷
K8S 的持久数据卷挂载大同小异,流程都是:创建PV -> 创建PVC -> 使用PVC
下面就简单介绍在阿里云上的操作:
创建存储卷(PV)
首先要创建存储卷,选择 容器服务 -> 存储卷 -> 创建
这里要注意的是:挂载点域名使用上面面的挂载地址
创建存储声明(PVC)
选择 NAS -> 已有存储卷
选择刚才创建的存储卷
使用PVC
使用的方法这里就不做详细介绍了,相关文章也比较多,这里就只记录 Deployment 中使用的 yaml 片段:
...
volumeMounts:
- mountPath: /data # 挂载路径
name: volume-nas-test
...
volumes:
- name: volume-nas-test
persistentVolumeClaim:
claimName: nas-test # PVC 名称
...
结语
这里只是做一个简单的记录,仅适用于阿里云 ACK 容器服务,同时也是 ACK 的一个简单应用。由于不经常对数据卷进行操作,这里做简单的记录,防止以后使用还要再看一遍文档。