ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

k8s-搭建nfs创建pv

2021-02-15 16:58:41  阅读:169  来源: 互联网

标签:权限 pv systemctl nfs PV k8s data


k8s-创建pv

NFS
1、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

2、安装配置 nfs
yum -y install nfs-utils rpcbind

3、共享目录设置权限:
chmod 755 /data/k8s/

4、在默认配置文件 /etc/exports 下,在该文件中添加下面的配置信息:
vi /etc/exports
/data/k8s *(rw,sync,no_root_squash)

5、配置说明

/data/k8s:是共享的数据目录
*:表示任何人都有权限连接,当然也可以是一个网段,一个 IP,也可以是域名
rw:读写的权限
sync:表示文件同时写入硬盘和内存
no_root_squash:当登录 NFS 主机使用共享目录的使用者是 root 时,其权限将被转换成为匿名使用者,通常它的 UID 与 GID,都会变成 nobody 身份
启动服务 nfs 需要向 rpc 注册,rpc 一旦重启了,注册的文件都会丢失,向他注册的服务都需要重启
data/k8s:是共享的数据目录

启动服务 nfs 需要向 rpc 注册,rpc 一旦重启了,注册的文件都会丢失,向他注册的服务都需要重启
systemctl start rpcbind.service
systemctl enable rpcbind
systemctl status rpcbind
在这里插入图片描述
然后启动 nfs 服务
systemctl start nfs.service
systemctl enable nfs
systemctl status nfs
在这里插入图片描述
确认启动成功
rpcinfo -p|grep nfs
在这里插入图片描述
查看具体目录挂载权限
在这里插入图片描述

客户端挂载 nfs 测试
查看共享目录
showmount -e 192.168.31.100
客户端上新建目录
mkdir /data
将 nfs 共享目录挂载到上面的目录
mount -t nfs 192.168.31.100:/data/k8s /data
挂载成功后,在客户端上面的目录中新建一个文件,然后我们观察下 nfs 服务端的共享目录下面是否也会出现该文件:
touch /data/test.txt
然后在 nfs 服务端查看

ls -ls /data/k8s/
total 4
4 -rw-r--r--. 1 root root 4 Jul 10 21:50 test.txt

6、k8s部署测试

PV 存储资源,主要包括存储能力、访问模式、存储类型、回收策略等关键信息,下面我们来新建一个 PV 对象,使用 nfs 类型的后端存储,1G 的存储空间,访问模式为 ReadWriteOnce,回收策略为 Recyle,对应的 YAML 文件如下:
vim nfs-pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name:  k8s-pv
spec:
  capacity: 
    storage: 100Gi
  accessModes:
  - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /data/k8s
    server: 192.168.31.100

部署
kubectl create -f nfs-pv.yaml
persistentvolume “k8s-pv” created
$ kubectl get pv
](https://www.icode9.com/i/ll/?i=20210215163213640.png)

参数说明:

Capacity(存储能力)
一般来说,一个 PV 对象都要指定一个存储能力,通过 PV 的 capacity属性来设置的,目前只支持存储空间的设置,就是我们这里的 storage=1Gi,不过未来可能会加入 IOPS、吞吐量等指标的配置。

AccessModes(访问模式)
AccessModes 是用来对 PV 进行访问模式的设置,用于描述用户应用对存储资源的访问权限,访问权限包括下面几种方式:
ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载
ReadOnlyMany(ROX):只读权限,可以被多个节点挂载
ReadWriteMany(RWX):读写权限,可以被多个节点挂载
注意:一些 PV 可能支持多种访问模式,但是在挂载的时候只能使用一种访问模式,多种访问模式是不会生效的。

Volume 插件支持的访问模式:

voluem-accessmodes
persistentVolumeReclaimPolicy(回收策略)
我这里指定的 PV 的回收策略为 Recycle,目前 PV 支持的策略有三种:
Retain(保留)- 保留数据,需要管理员手工清理数据
Recycle(回收)- 清除 PV 中的数据,效果相当于执行 rm -rf /thevoluem/*
Delete(删除)- 与 PV 相连的后端存储完成 volume 的删除操作,当然这常见于云服务商的存储服务,比如 ASW EBS。
不过需要注意的是,目前只有 NFS 和 HostPath 两种类型支持回收策略。当然一般来说还是设置为 Retain 这种策略保险一点。
status(状态)
一个 PV 的生命周期中,可能会处于4中不同的阶段:
Available(可用):表示可用状态,还未被任何 PVC 绑定
Bound(已绑定):表示 PV 已经被 PVC 绑定
Released(已释放):PVC 被删除,但是资源还未被集群重新声明
Failed(失败): 表示该 PV 的自动回收失败

标签:权限,pv,systemctl,nfs,PV,k8s,data
来源: https://blog.csdn.net/zhoujianhui008/article/details/113816895

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有