k8s学习(十五) 使用nfs存储系统配置pv

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}}‘
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值