ubuntu22.04为k8s部署NFS
在本篇博客中,我将介绍如何在 Ubuntu 系统中部署 NFS 服务,并在 Kubernetes 节点之间共享存储。
1. 安装 NFS 服务
在 k8s-master 节点上,我们需要先安装 nfs-kernel-server。可以通过以下命令安装:
1 | root@k8s-master:~# cd /opt |
安装过程中,系统会提示安装一些必要的依赖包,例如 keyutils、nfs-common、rpcbind 等。
安装完成后,使用以下命令检查 NFS 服务是否已启动:
1 | root@k8s-master:/opt# sudo systemctl start nfs-kernel-server |
2. 配置共享目录
这个根据实际配置,我这里在 k8s-master 上创建共享目录 k8s_store,并修改权限:
1 | root@k8s-master:/opt# mkdir 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 | root@k8s-master:/opt# sudo systemctl start nfs-kernel-server |
4. 在客户端安装 NFS
接下来,在 k8s-node1 节点上安装 NFS 客户端:
1 | root@k8s-node1:~# sudo apt install -y nfs-common |
安装过程中,系统会提示安装一些依赖包,例如 rpcbind 等。
安装完成后,创建挂载点并挂载 NFS 共享目录:
1 | root@k8s-node1:~# sudo mkdir -p /opt/k8s_store |
完成