标签:source exec pat tor creat 通过 check item 网络文件系统
1、NFS 介绍
NFS 即网络文件系统(Network File-System),可以通过网络让不同机器、不同系统之间可以实现文件共享。通过 NFS,可以访问远程共享目录,就像访问本地磁盘一样。NFS 只是一种文件系统,本身并没有传输功能,是基于 RPC(远程过程调用)协议实现的,采用 C/S 架构。
2、安装 NFS 软件包
#1安装nfs服务端 sudo apt install nfs-kernel-server -y #2. 创建目录 sudo mkdir -p /data/k8s/ #3. 使任何客户端均可访问 sudo chown nobody:nogroup /data/k8s/ #sudo chmod 755 /data/k8s/ sudo chmod 777 /data/k8s/ #4. 配置/etc/exports文件, 使任何ip均可访问(加入以下语句) vi /etc/exports /data/k8s/ *(rw,sync,no_subtree_check) #5. 检查nfs服务的目录 sudo exportfs -ra (重新加载配置) sudo showmount -e (查看共享的目录和允许访问的ip段) #6. 重启nfs服务使以上配置生效 sudo systemctl restart nfs-kernel-server #sudo /etc/init.d/nfs-kernel-server restart #查看nfs服务的状态是否为active状态:active(exited)或active(runing) systemctl status nfs-kernel-server #7. 测试nfs服务是否成功启动 #安装nfs 客户端 sudo apt-get install nfs-common #创建挂载目录 sudo mkdir /data/k8s/ #7.4 在主机上的Linux中测试是否正常 sudo mount -t nfs -o nolock -o tcp 192.168.100.11:/data/k8s/ /data/k8s/(挂载成功,说明nfs服务正常) #错误 mount.nfs: access denied by server while mounting
3创建pv(master上)vim mypv.yaml //内容如下
apiVersion: v1 kind: PersistentVolume metadata: name: pv001 spec: capacity: storage: 100M accessModes: - ReadWriteMany nfs: path: /data/k8s/ server: 192.168.100.11
kubectl create -f mypv.yaml
kubectl get pv
状态为Available,这是因为它还没有绑定到任何的pvc上面,当定义完pvc后,就可以自动绑定了。
4 创建pvc(master上)vim mypvc.yaml //内容如下
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: myclaim spec: accessModes: - ReadWriteMany resources: requests: storage: 8M
kubectl create -f mypvc.yaml
kubectl get pvc
可以看到,pvc状态为Bound,它绑定了pv001
5 定义pod vim pvpod.yaml //内容如下
apiVersion: v1 kind: Pod metadata: name: httpd-pvpod spec: containers: - image: httpd name: httpd-withpvc-pod imagePullPolicy: Always volumeMounts: - mountPath: "/usr/local/apache2/htdocs/" name: httpd-volume volumes: - name: httpd-volume persistentVolumeClaim: claimName: myclaim
kubectl create -f pvpod.yaml
kubectl describe pod httpd-pvpod //查看Volumes那部分里的ClaimName
6 验证
#1到NFS的共享目录下创建一个文件 cd /data/k8s/ echo "Test file" > 1.html #2进入到httpd-pod里 #kubectl exec -it httpd-pvpod bash kubectl exec -it httpd-pvpod /bin/sh cat /usr/local/apache2/htdocs/1.html #3删除httpd-pvpod kubectl delete pod httpd-pvpod cat /data/k8s/1.html #4重建httpd-pod kubectl create -f pvpod.yaml #5curl访问 kubectl get pod httpd-pvpod -o wide //查看其对应的IP
ubuntu kubernetes中使用NFS创建pv_pvc
标签:source exec pat tor creat 通过 check item 网络文件系统
原文地址:https://www.cnblogs.com/majiang/p/14465553.html