江小南

V1

2022/11/16阅读:21主题:默认主题

【kubernetes篇】使用Nfs实现kubernetes持久化存储

引言

在kubernetes使用的过程中,有很多数据需要持久化保存。而kubernetes本身不能实现这样的功能,所以需要提供外部存储来实现。nfs网络文件系统,能良好支持pv动态创建等功能,是一个不错的持久化保存方式。今天将这一部分内容作以整理。

阅读这篇文章之前,你应当已经理解了DNS服务器的搭建以及磁盘管理的相关操作。

【网络篇】如何搭建自己的DNS服务器

【Linux篇】Linux 磁盘管理

【Linux篇】磁盘lvm管理(PV,VG,LV,PE)

1. 设置磁盘挂载

磁盘分为系统盘和数据盘,VMware Workstation 默认有系统盘,我们单独添加数据盘。

# 格式化磁盘
mkfs.xfs /dev/sdb
# 创建挂载目录
mkdir /sdb
# 设置持久化挂载
vi /etc/fstab

说明:前面是tab,后面0和0是空格。

# 挂载
mount /dev/sdb /sdb

2. 安装nfs

yum install -y nfs-utils
# 设置配置文件(服务端)
vi /etc/exports

#
 内容: /sdb *(rw,sync,no_root_squash)

说明:rw表示读写权限。sync表示支持数据同步。no_root_squash表示权限为root用户。

# 启动服务
systemctl enable --now nfs-server
# 检查验证
systemctl status nfs-server

3. 如何在kubernetes集群中使用

在集群内也需要安装nfs-utils。作为客户端使用。

# 安装nfs
yum install -y nfs-utils

#
 查看可挂载点
showmount -e nfs.kubernetes.com

说明:使用k8s-master02节点演示,显示nfs.kubernetes.com的/sdb可以挂载。

同样的道理,我将k8s-master02的/sdb挂载到nfs.kubernetes.com的/sdb。

mount -t nfs nfs.kubernetes.com:/sdb /sdb

说明:如果没有DNS服务器,就使用ip地址。

检查验证

/sdb目录下的文件成功同步了。后期在kubernetes集群中使用pv和pvc,我们将pv挂载到此目录下,就可以实现数据持久化保存。

4. 扩展

如何取消挂载?

# 和nfs取消挂载
umount -l /sdb
# 和本地磁盘取消挂载
umount -l /dev/sdb

说明:选项 –l 并不是马上umount,而是在该目录空闲后再umount。

分类:

后端

标签:

云计算

作者介绍

江小南
V1