Kubernetes搭建NFS原生服务
NFS是一个网络文件系统,可以将存储服务器的磁盘共享到集群范围内使用。虽然有Rook、CephFS、Gluster、Swift、Cinder、HDFS等集群存储系统以及Google、微软、百度的网盘,但NFS使用简单,性能也还不错,是快速自建集群的存储的首选方案,而且通过Kubernetes的PV/PVC等接口,以后还可以容易地迁移到新的存储系统。
使用NFS有几种情况:
已有NFS集群。只需要创建pv,然后就可以通过pvc和StorageClass来请求磁盘空间。
裸机新装NFS集群。安装完NFS服务后,使用跟上面一样。
Kubernetes中新装NFS集群。在Kubernetes中创建NFS-provisioner作为服务管理,然后再提供pv服务,通过pvc和StorageClass来请求磁盘空间。
这里主要介绍Kubernetes中新装NFS集群及其使用。
NFS支持Helm安装工具,按照下面操作:
但是,缺省情况下的安装是不支持持久化的,NFS服务的数据保存在临时目录中,关机会丢失数据,容量也有限。如果主机临时目录空间被耗光,还会导致主机奔溃。因此,需要将NFS的数据安装到持久卷(PV)中。在GCP云环境中,会提供StorageClass可以直接创建出PV。在私有环境中,可以使用HostPath创建PV,然后创建PVC,就可以了配置到NFS的Helm参数文件中进行NFS安装了。
第一步,创建宿主机PV和PVC
关于Kubernetes的存储架构,参考:
1、创建宿主机的PV
这里的