前言
NFS挂载到openshfit,可以分为两种挂载方式,一种是 执行pv 和pvc 挂载,一种是在ymal文件中添加配置挂载,挂载后必须要授权,才可以使用,一、准备NFS服务器
一,这里的服务器使用的是 CentOS Linux release 7.9.2009 (Core)
查看服务器999AAA
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
二,安装NFS服务器
1.下载安装
yum install -y nfs-utils rpcbind
2.启动
systemctl start rpcbind
3.设置开机自启
systemctl enable rpcbind
二、挂载
1.修改openshfit ymal文件
打开openshfit 项目Deployments 找到需要修改的节点
Appliction->Deployments->XXXXX-Action->Edit Ymal
找到volumeMounts字段与volumes字段
volumeMounts:
- mountPath: /tmp/configmap
name: config-volume
- mountPath: /tmp
name: springlogs
- mountPath: file/test-file #应用的路径
name: test-file #引用的名称
volumes:
- configMap:
defaultMode: 420
name: demo-file
name: config-volume
- emptyDir: {}
name: applogs
- emptyDir: {}
name: springlogs
- name: test-file #这里名称必须与上面的一致
nfs:
path: /data/file #NFS服务器下新建的目录
server: 192.168.152.1 #NFS服务器
2.读入数据
1.vim /etc/exports 添加以下
/data/file 10.21.01.01(rw,sync,no_root_squash)
2.然后执行命令:exportfs -rv
ymal文件挂载
以下就是ymal方式挂载,顺序不能搞错,先导入pv.ymal 后导入pvc.ymal
1.pv.yaml:
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/bound-by-controller: "yes"
pv.kubernetes.io/provisioned-by: fuseim.pri/ifs
creationTimestamp: null
finalizers:
- kubernetes.io/pv-protection
name: 名字1(自己取)
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 100Gi
mountOptions:
- hard
- intr
nfs:
path: /opt/files #nfs服务器共享目录
server: 192.168.152.1 #nfs服务器ip
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-storage
status: {}
2.pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: fuseim.pri/ifs
creationTimestamp: null
finalizers:
- kubernetes.io/pvc-protection
name: 名字2(自己取)
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: nfs-storage
volumeName: pc.yaml #中的名字1,需要保持一致
status: {}
3,:依次import这两个ymal,顺序不可颠倒,因为后面的pvc.yaml依赖于pv.yaml文件。
文章希望能带给你你参考,希望大家多多点赞,有问题可私信,或者微信:45779131