焱融 SaaS 平台提供了 NFS 挂载方式的容量型文件系统,可用于多种场景,例如备份、网盘、文件共享等。今天我们将详细地讲解如何结合 Kubernetes 做到按需创建挂载来进一步满足个性化需求。
01 基础环境准备
在创建了虚拟之后,为了后续的操作,我们需做必要的调整。
禁用 Selinux
修改 ssh 登录秘钥,将 authorized_keys 内的前部分校验移除,然后以 root 重新 ssh 登录。
修改 hostname 并重启
02 安装Kubernetes
Kubernetes 的安装方式有多种,也存在多种发行版,本文采用常见的安装方式。
首先安装 Docker 并启动,我们采用 CentOS 默认的1.13版本即可。
在安装 Kubernetes 并确认工作之后即可,本文仅创建了单节点的 Kubernetes 环境,根据需要,可以考虑自行进行扩容
03 准备NFS配置
焱融 SaaS 平台提供了 NFS 挂载方式,但如何应用到 Kubernetes 环境,需要思考一下。将 NFS 目录挂载到宿主上,然后利用HostPath来进行存储卷的分配,不够灵活。我们都知道 Kubernetes 内存在 PVC 的概念,如果能用 PVC 来自动通过 NFS 创建 PV 的方式,就会灵活很多。这里我们直接采用官方的 nfs-client-provisioner 来满足上述需求。
先安装 nfs-utils
通过焱融 SaaS 平台 (https://console.yanrongyun.com) 创建文件系统之后,在文件系统挂载页面可以看到以下内容。
我们需要记录 DNS 名称以及随后的 /mnt/yrfs/5a-xxx-xxxx-xxxx791b5e 的信息,填写到下述文件的对应的标记位置。
在创建对应的文件后,我们看到 nfs-client-provisioner 创建成功。
04 功能验证
下面我们来先验证功能是否工作正常。
在上面的步骤中,我们创建了 StorageClass,例如这个 StorageClass,我们就可以用通过 PVC 来自动的创建出 PV。
通过以上的 nfs-test-pod.yaml,我们创建了 PVC 以及 PV,并挂载到了 test-pod 内,进行的文件写入并成功。
在我们将 nfs 目录挂载到本地后,可以看到写入的文件。
至此,我们完整操作了 Kubernetes 利用 NFS Provisioner 组件在焱融 SaaS 平台容量型文件系统上的按需创建子目录,并成功读写文件的实践。接下来,更多的应用场景让我们一起来探索。