什么是nfs?

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件

为什么需要nfs?

数据卷 emptydir,是本地存储,pod重启,数据不存在,需要对数据持久化存储,应用nfs,网络存储,pod重启,数据还存在。

使用nfs

1.找一台服务器安装nfs

yum install -y nfs-utils

image.png

2.设置挂载路径

vim /etc/exports
#对外创建路径必须手动创建出来,否则会创建失败
/data/nfs *(rw,no_root_squash)

image.png
image.png

3.在所有节点上都安装nfs

yum install -y nfs-utils

image.png

4.在nfs服务端启动nfs

#启动nfs服务
systemctl start nfs
#查看nfs服务
systemctl status nfs

image.png
image.png

5.在master节点上操作

cd ~
mkdir pv
vim nfs-nginx.yaml

image.png
创建pod

kubectl apply -f nfs-nginx.yaml

image.png
可通过查看创建的pod看到创建流程详情

kubectl describe pod nginx-dep1-74bd746649-8b4rv

image.png出现下面状态证明创建成功
image.png
进入pod

kubectl exec -it nginx-dep1-74bd746649-km5lx bash
ls /usr/share/nginx/html/

查询为空
在nfs服务端挂载目录(/data/nfs)下创建一个文件index.html
image.png
在master节点上的 ls /usr/share/nginx/html/ 目录下查看文件
image.png
以上就是通过nfs服务端共享了网络共享文件
对外暴露svc端口(在master上执行)

kubectl expose deployment nginx-dep1 --port=80 --target-port=80 --type=NodePort

image.png
image.png

pv和pvc

pv: 持久化存储,对存储资源进行抽象,对外提供可以调用的地方(生产者)
pvc:用于调用,不需要关心内部实现细节(消费者)

实现流程

vim pvc.yaml

image.png
创建pvc

kubectl apply -f pvc.yaml

image.png

vim pv.yaml

image.png
创建pv

kubectl apply -f pv.yaml

image.png
查看绑定pv,pvc状态

kubectl get pv,pvc

image.png
image.png
进入pod

kubectl exec -it nginx-dep1-58b7bf955f-f9jmq bash

image.png

posted on 2024-01-25 17:27  bigdate  阅读(17)  评论(0)    收藏  举报