k8s学习(十五) 使用nfs存储系统配置pv
Kubernetes 引入了 PV 和 PVC 两个重要的资源对象来实现对存储管理。PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS 等,都是通过插件机制完成与共享存储的对接。1、下载配置nfsyum -y install nf...
·
Kubernetes 引入了 PV 和 PVC 两个重要的资源对象来实现对存储管理。
PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS 等,都是通过插件机制完成与共享存储的对接。
1、下载配置nfs
yum -y install nfs-utils rpcbind
[root@k8s-node1 k8s]# chmod 755 /data/k8s/
vi /etc/exports
/data/k8s *(rw,sync,no_root_squash)
2、开启rpcbind服务
[root@k8s-node1 k8s]# systemctl start rpcbind.service
[root@k8s-node1 k8s]# systemctl enable rpcbind
Created symlink from /etc/systemd/system/multi-user.target.wants/rpcbind.service to /usr/lib/systemd/system/rpcbind.service.
[root@k8s-node1 k8s]# systemctl status rpcbind
● rpcbind.service - RPC bind service
Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
Active: active (running) since 四 2019-09-12 15:24:26 CST; 24s ago
Main PID: 40295 (rpcbind)
CGroup: /system.slice/rpcbind.service
└─40295 /sbin/rpcbind -w
9月 12 15:24:26 k8s-node1 systemd[1]: Starting RPC bind service...
9月 12 15:24:26 k8s-node1 systemd[1]: Started RPC bind service.
3、启动nfs
[root@k8s-node1 k8s]# systemctl start nfs.service
[root@k8s-node1 k8s]# systemctl enable nfs.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@k8s-node1 k8s]# systemctl status nfs
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
└─order-with-mounts.conf
Active: active (exited) since 四 2019-09-12 15:27:33 CST; 13s ago
Main PID: 41860 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
9月 12 15:27:32 k8s-node1 systemd[1]: Starting NFS server and services...
9月 12 15:27:33 k8s-node1 systemd[1]: Started NFS server and services.
4、在客户端机器与服务端一样部署nfs
查看共享目录
[root@k8s-node2 data]# showmount -e 192.168.100.87
Export list for 192.168.100.87:
/data/k8s *
客户端创建目录并挂载到共享目录
[root@k8s-node2 data]# mkdir -p /root/course/kubeadm/data
[root@k8s-node2 data]# mount -t nfs 192.168.100.87:/data/k8s /root/course/kubeadm/data
在客户端创建一个文件
[root@k8s-node2 data]# touch /root/course/kubeadm/data/test.aaa
服务端去/data/k8s查看
[root@k8s-node1 k8s]# cd /data/k8s
[root@k8s-node1 k8s]# ll
总用量 0
-rw-r--r-- 1 root root 0 9月 12 17:37 test.aaa
5、构建pv
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv1
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /data/k8s
server: 192.168.100.87
kubectl apply -f pv-demo.yaml
[root@k8s-node1 k8s]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv001 1Gi RWO Recycle Bound default/www-web-1 4d23h
pv002 1Gi RWO Recycle Bound default/www-web-0 4d23h
pv1 1Gi RWO Recycle Available 5s
6、解决pv无法删除,一直显示terminating状态
kubectl patch pv 你的pv名字 -p ‘{"metadata":{"finalizers":null}}‘
更多推荐
已为社区贡献39条内容
所有评论(0)