Kubernetes使用StorageClass动态生成NFS类型的PV

我是知识的实践者,关注我,手把手教您部署实践。贵在真实,主打就是一个按步骤做下去不会出错。

Persistent Volume(持久化卷)简称PV, 是一个K8S资源对象,我们可以单独创建一个PV, 它不和Pod直接发生关系, 而是通过Persistent Volume Claim, 简称PVC来实现动态绑定, 我们会在Pod定义里指定创建好的PVC, 然后PVC会根据Pod的要求去自动绑定合适的PV给Pod使用。

可能前面部署的rook-ceph有点难度,本文使用最简单的文件夹来实现容器的PVC。

一、安装nfs-kernel-server,配置自己的NFS系统

配置StorageClass动态生成PersistentVolume。考虑到NFS存储操作相对简洁,因此在刚接触StorageClass的情况下选择了NFS作为Provisioner。

环境:master 192.168.100.20
		Node1 192.168.100.22
		Node2 192.168.100.21

在节点1上创建/home/matrix/nfs4文件夹作为NFS共享文件夹。

在NFS服务器上

apt-get install nfs-kernel-server

在客户端上

apt install nfs-common

在NFS服务器上

vim /etc/exports

/home/matrix/nfs4 *(rw,sync,no_root_squash)

在NFS服务器上,重启nfs服务

sudo /etc/init.d/nfs-kernel-server restart

在客户端上mount测试下

mount 192.168.100.22:/home/matrix/nfs4 /mnt

二、使用已配置好的NFS系统

可以参考https://github.com/kubernetes-retired/external-storage/tree/master/nfs-client

1.创建测试的静态PV和PVC

首先,需要利用静态的PV和PVC来测试一下NFS系统能否正常工作:

pv01.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mypv001
spec:
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    server: 192.168.100.22
    path: /home/matrix/nfs4
kubectl create -f   pv01.yaml
root@ubuntu-master:/home/matrix/nfs4# kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                     STORAGECLASS   REASON   AGE
pvc-3c20e4cb-46bd-49c5-ae63-959fa1f02064   20Gi       RWO            Delete           Bound    kubeflow/minio-pv-claim   nfs                     24h   

如果能够自动绑定,说明NFS系统工作正常,这样才能执行下面的步骤。

三、动态生成PV

想要动态生成PV,需要运行一个NFS-Provisioner服务,将已配置好的NFS系统相关参数录入,并向用户提供创建PV的服务。官方推荐使用Deployment运行一个replica来实现,当然也可以使用Daemonset等其他方式,这些都在官方文档中提供了。

这一步有一个前提条件,就是所有的nodes上都要安装nfs-common,因为docker是用nfs-common去挂载。

1、编写rbac.yam

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值