前言
当应用的数据(比如日志)不想因为重新创建容器而丢失时,可以通过给Pods挂载持久卷PV来满足数据的持久化存储。k8s提供很多方式创建PV,本文以nfs为例。
一、安装nfs
1.在某个节点上安装nfs
yum install -y nfs-common nfs-utils
2.创建nfs数据目录
mkdir /data/nfs
chmod 666 /data/nfs
3.向/etc/exports文件写入以下配置
/data/nfs *(rw,no_root_squash,no_all_squash,sync)
4.加载nfs配置
exportfs -r
5.启动nfs
systemctl start rpcbind
systemctl start nfs
二、在工作负载中使用持久卷PV
1.在集群管理界面顶部菜单栏进入【持久卷】
2.添加PV,填写参数
3.添加PVC,绑定PV
进去集群的某个项目,选择资源>工作负载,切换至PVC页签。
添加PVC,每个PV只能绑定一个PVC,也就是一个PV只能分配给一个命名空间,但是PVC可以被命名空间下的多个应用共享。
4.在工作负载中使用PVC
部署或升级工作负载时,在数据卷中添加卷并选择使用现有PVC。
配置完成后,该pod下的/var/logs目录会被同步写入到nfs服务器的/data/nfs/logs目录下。