PV动态供给之nfs
需求描述:利用nfs实现PV动态供给
前提:部署好nfs服务器 这里地址是 192.168.1.35 path: /ifs/k8s
NFS:是一个主流的文件共享服务器。
# yum install nfs-utils
# vi /etc/exports
/ifs/kubernetes *(rw,no_root_squash)
# mkdir -p /ifs/kubernetes
# systemctl start nfs
# systemctl enable nfs
注:每个Node上都要安装nfs-utils包
----------------
K8s默认不支持NFS动态供给,需要单独部署社区开发的插件。
项目地址:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
若不能访问github可以网盘下载:
链接:https://pan.baidu.com/s/1eHqFkGF52JIy_6ml1JGrwA
提取码:l02p
1. 将安装包上传至master 解压
2. apply yaml
kubectl apply -f rbac.yaml # 授权访问apiserver
deployment.yaml 需要先修改两处再执行。
kubectl apply -f deployment.yaml # 部署插件,需修改里面NFS服务器地址与共享目录
这个pod正常之后再继续下面的操作。
kubectl apply -f class.yaml # 创建存储类
kubectl get sc # 查看存储类
3. 编写pvc yaml 申请存储空间
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: storage-claim
spec:
storageClassName: "managed-nfs-storage"
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
containers:
- name: test-pod
image: nginx
volumeMounts:
- name: nfs-pvc
mountPath: "/usr/share/nginx/html"
volumes:
- name: nfs-pvc
persistentVolumeClaim:
claimName: storage-claim
完成