0%

ubuntu22.04为k8s部署NFS

ubuntu22.04为k8s部署NFS

在本篇博客中,我将介绍如何在 Ubuntu 系统中部署 NFS 服务,并在 Kubernetes 节点之间共享存储。

1. 安装 NFS 服务

k8s-master 节点上,我们需要先安装 nfs-kernel-server。可以通过以下命令安装:

1
2
root@k8s-master:~# cd /opt
root@k8s-master:/opt# sudo apt install -y nfs-kernel-server

安装过程中,系统会提示安装一些必要的依赖包,例如 keyutilsnfs-commonrpcbind 等。

安装完成后,使用以下命令检查 NFS 服务是否已启动:

1
2
root@k8s-master:/opt# sudo systemctl start nfs-kernel-server
root@k8s-master:/opt# sudo systemctl enable nfs-kernel-server

2. 配置共享目录

这个根据实际配置,我这里在 k8s-master 上创建共享目录 k8s_store,并修改权限:

1
2
root@k8s-master:/opt# mkdir k8s_store
root@k8s-master:/opt# chmod 777 k8s_store/

查看目录内容:

1
root@k8s-master:/opt# ll -a

然后编辑 /etc/exports 文件,添加共享目录的配置:

1
root@k8s-master:/opt# vim /etc/exports

在文件末尾添加共享目录位置,我设置了以下行:

1
/opt/k8s_store  *(rw,sync,no_root_squash,no_subtree_check)

应用配置:

1
root@k8s-master:/opt# sudo exportfs -a

3. 启动 NFS 服务

启动并使 NFS 服务在系统启动时自动启动:

1
2
root@k8s-master:/opt# sudo systemctl start nfs-kernel-server
root@k8s-master:/opt# sudo systemctl enable nfs-kernel-server

4. 在客户端安装 NFS

接下来,在 k8s-node1 节点上安装 NFS 客户端:

1
root@k8s-node1:~# sudo apt install -y nfs-common

安装过程中,系统会提示安装一些依赖包,例如 rpcbind 等。

安装完成后,创建挂载点并挂载 NFS 共享目录:

1
2
root@k8s-node1:~# sudo mkdir -p /opt/k8s_store
root@k8s-node1:~# mount -t nfs 192.168.126.160:/opt/k8s_store /opt/k8s_store

完成