前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >23 Mar 2020 通过nfs方式创建pv/pvc

23 Mar 2020 通过nfs方式创建pv/pvc

作者头像
俊采
发布2023-10-17 10:41:04
1760
发布2023-10-17 10:41:04
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

搭建nfs server

在/etc/exports中添加一下内容:

代码语言:javascript
复制
/root/share 10.0.0.0/8(rw,sync,no_wdelay,no_root_squash,insecure,fsid=0)

参数具体解释如下:

  • 10.0.0.0/8:可以访问的主机ip段
  • rw:可读写
  • sync:将数据同步写入内存和磁盘
  • no_wdelay:若执行写操作,立即执行,须和sync一起使用
  • no_root_squash:如果进入该目录的用户时root,就具备root权限
  • insecure:允许客户端从大于1024的tcp/ip端口连接nfs server
  • fsid=0:nfs文件系统的uuid,为0时只能共享一个目录

重启nfs相关服务:

代码语言:javascript
复制
$ systemctl restart rpcbind.service
$ systemctl restart nfs.service

确认设置生效:

代码语言:javascript
复制
$ exportfs
/root/share     10.0.0.0/8
$ showmount -e
Export list for ssli-ocp1-inf.fyre.ibm.com:
/root/share    10.0.0.0/8

创建相应的pv和pvc

pv.yaml如下:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  name: share
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle
  volumeMode: Filesystem
  nfs:
    server: 10.16.60.168
    path: "/root/share"

pvc.yaml如下:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: share
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi

创建pv和pvc:

代码语言:javascript
复制
$ oc apply -f pv.yaml
persistentvolume/share created
$ oc apply -f pvc.yaml
persistentvolumeclaim/share created
$ oc get pv share
NAME    CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM           STORAGECLASS   REASON   AGE
share   1Gi        RWX            Recycle          Bound    default/share                           9s
$ oc get pvc share
NAME    STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
share   Bound    share    1Gi        RWX                           11s

创建pod使用该pvc

pod.yaml如下:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: busybox
spec:
  containers:
  - name: busybox
    image: busybox
    command:
      - sleep
      - "3600"
    volumeMounts:
        - name: share
          mountPath: "/share"
  volumes:
  - name: share
    persistentVolumeClaim:
      claimName: share

创建pod并进入pvc的share目录创建test文件:

代码语言:javascript
复制
$ oc apply -f pod.yaml
pod/busybox created
$ oc exec -it busybox /bin/sh
/ # cd share/
/share # touch test
/share # exit

删除pod后,再次使用该pvc,可以看到test文件依然存在:

代码语言:javascript
复制
$ oc delete -f pod.yaml
pod "busybox" deleted
$ oc apply -f pod.yaml
pod/busybox created
$ oc exec -it busybox /bin/sh
/ # ls /share/
test
/ # exit

LEo at 12:12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建nfs server
  • 创建相应的pv和pvc
    • 创建pod使用该pvc
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档