k8s集群之搭建NFS服务器(一)

1、环境准备

安装nfs服务,是为了保证k8s集群的工作节点,在pod的运行节点切换时可以访问到相同的工作目录

服务器 功能
192.168.1.33 服务器端
192.168.1.31 客户端(k8s集群工作节点)
192.168.1.32 客户端(k8s集群工作节点)

2、安装nfs服务端

# 在192.168.1.33上进行安装

# 1.安装nfs所需安装包
yum install -y rpcbind nfs-utils

# 2.执行命令,创建 exports 文件
vim /etc/exports
# 增加内容
/data/nfs_root/ *
### 在 Kubernetes 集群中部署 NFS 服务器 #### 准备工作 为了在 Kubernetes 中成功部署 NFS 服务器,需先确认集群环境已准备好并能够正常运行 Pod 和 Service 资源。此外,还需确保目标机器上已经安装了 NFS 服务。 #### 安装 NFS 服务 对于 Linux 发行版而言,通常可以通过包管理器来完成 NFS 的安装: ```bash sudo apt-get update && sudo apt-get install nfs-kernel-server -y # 对于基于 Debian/Ubuntu 的系统 # 或者 sudo yum install nfs-utils -y # 对于基于 RedHat/CentOS 的系统 ``` #### 创建共享目录 创建个用于共享的数据目录,并赋予适当权限以便后续挂载使用: ```bash sudo mkdir -p /data/nfs-share sudo chown nobody:nogroup /data/nfs-share/ sudo chmod 777 /data/nfs-share/ ``` #### 编写 Export 文件 编辑 `/etc/exports` 文件以定义哪些路径应该被导出以及允许哪个 IP 地址范围内的主机访问这些资源[^3]: ```text /data/nfs-share *(rw,sync,no_subtree_check,no_root_squash) ``` 这里 `*` 表示任何客户端都可以连接到此 NFS 导出;实际生产环境中建议指定具体的网络段或IP地址代替星号。 #### 启动 NFS 服务 保存更改后的配置文件后,重启 NFS 相关的服务使其生效,并设置为随系统启动自动开启: ```bash sudo systemctl enable rpcbind sudo systemctl start rpcbind sudo exportfs -a sudo systemctl restart nfs-kernel-server sudo systemctl enable nfs-kernel-server ``` 此时,在 K8S 外部的 NFS Server 已经搭建完毕。接下来需要做的是让 K8S 内的应用程序能够通过 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 来利用这个外部存储设备。 #### 设置 PV/PVC 访问 NFS 存储 为了让 Kubernetes 应用能方便地存取上述建立好的 NFS Share, 可以为其设定对应的 Persistent Volume(PV),并通过 Persistent Volume Claim(PVC) 进行绑定。下面是个简单的例子说明如何操作: ##### 定义 PersistentVolume YAML 文件 (`pv-nfs.yaml`) ```yaml apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs spec: capacity: storage: 5Gi accessModes: - ReadWriteMany nfs: path: "/data/nfs-share" server: "<Your_NFS_Server_IP>" ``` ##### 定义 PersistentVolumeClaim YAML 文件(`pvc-nfs.yaml`) ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nfs spec: accessModes: - ReadWriteMany resources: requests: storage: 5Gi ``` 应用以上两个资源配置至 Kubernetes 集群内即可实现内部容器对 NFS Storage 的读写支持。 #### 测试 NFS 挂载情况 最后可以在任意节点执行如下命令验证是否可以正确挂载远程 NFS 卷: ```bash kubectl apply -f pv-nfs.yaml kubectl apply -f pvc-nfs.yaml kubectl get pv,pvc ``` 如果切顺利的话,则可以看到新创建出来的 PVC 成功 Bound 到之前定义的那个 PV 上去了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值