陈奇网络工作室

用于k8s共享存储的nfs

云计算

特别说明:测试使用,不推荐生产环境。

1.在主节点上配置(节点1)。

1)百胜安装nfs

# yum -y安装nfs-utils

NFS的主要工具包括:

主配置文件:/etc/exports;

NFS文件系统维护命令:/usr/usr/bin/exportfs;

共享资源的日志文件:/var/lib/NFS/* tab;

客户端查询共享资源命令:/usr/usr/sbin/show mount;

端口配置:/etc/sysconfig/nfs。

2)创建一个新的共享目录

# mkdir -p /data/volunes

3)设置Nfs权限

#卡特彼勒/etc/出口

权限参数描述:

ro?只读访问

rw?读写访问

同步?请求时,所有数据都会写入共享。

异步?Nfs可以在写入数据之前响应请求。

安全吗?Nfs通过低于1024的安全TCP/IP端口发送。

没有安全感?Nfs通过1024以上的端口发送。

wdelay?如果多个用户想要写入nfs目录,请分组写入(默认)。

no_wdelay?如果多个用户想要写入nfs目录,他们会立即写入,使用async时不需要此设置。

藏起来?不要在nfs共享目录中共享其子目录。

No_hide共享nfs目录的子目录。

子树_检查?如果共享/usr/bin这样的子目录,则强制nfs检查父目录的权限(默认)

no_subtree_check?不检查父目录权限。

all _壁球?共享文件的UID和GID映射匿名用户anonymous,适用于公共目录。

没有壁球?保留共享文件的UID和GID(默认)

root_squash root用户的所有请求都映射到与匿名用户相同的权限(默认)。

无根南瓜?root用户对根目录拥有完全的管理访问权限(不安全)。

Anonuid=xxx指定nfs服务器/etc/passwd文件中匿名用户的uid。

Anongid=xxx指定nfs服务器/etc/passwd文件中匿名用户的gid。

4)启动服务

# systemctl启用nfs.service

# systemctl启动nfs.service

# exportfs?-arv #配置文件将在不重启nfs服务的情况下生效。

2.在节点2和节点3上配置Nfs。

1)安装

yum -y安装nfs-utils

2)在节点3和节点2上装载:

# mount-t NFS 172 . 160 . 45 . 160:/data/volune//mnt

3、检查

1)#检查RPC服务的注册状态。

rpcinfo -p本地主机

2)#显示安装测试

秀芒特-172.160.45.160

4.kubernetes使用NFS共享存储有两种方式:

#手动创建所需的PV和PVC静态;

#通过创建PVC动态创建对应的PV,无需手动创建PV;

# # # # # # # # # # # # #静态创建# # # # # # # # # #

1)PV体积的静态应用

PersistentVolumes是k8s的抽象存储资源,主要包括存储容量、访问方式、存储类型、回收策略等关键信息。PV才是k8s真正连接存储后端的真正入口。

#创建pv对应的目录

# mkdir -p /data/volunes/v{1,2,3}

#配置导出器

#卡特彼勒/etc/出口

#立即生效

# exportfs?-arv

2)创建一个pv文件

# vim nfs-pv1.yaml

apiVersion: v1

种类:持久卷

元数据:

名称:nfs-pv1

标签:

pv: nfs-pv1

规格:

容量:

存储:1Gi

访问模式:

读写多

persistentVolumeReclaimPolicy策略:回收

存储类名:nfs

nfs:

路径:/data/volunes/v1

服务器:172.160.45.160

Nfs-pv2.yaml也类似。

配置描述:

容量指定PV的容量为1G。

accessModes指定访问模式为ReadWriteOnce,支持的访问模式有:

ReadWriteOnce(RWO):读写权限,但只能单个节点挂载;

ReadOnlyMany(ROX):只读权限,可以多节点挂载;

ReadWriteMany(RWX):读写权限,可以多节点挂载;

persistentvolumereclain policy指定当PV的回收策略为Recycle时,支持的策略为:

Retain-保留数据,不会分发到pvc,需要管理员手动清理数据;

recycle-清空pv中的数据,预留PV资源,可以预留给其他pvc使用;

Delete-删除整个pv资源及其内部数据;

storageClassName指定PV的类别是nfs。相当于给PV设置了一个分类,PVC可以指定一个类来申请对应类的PV。

指定NFS服务器上PV对应的目录。

#为pv创建一个pod

# kubectl create-f nfs-pv1.yaml

# kubectl获取pv

可用状态,表示pv已准备好,可以通过PVC申请;

3)创建PVC

持续量索赔是对产品鉴定(生产验证)资源的一种声明,聚氯乙烯绑定实体资源页面浏览量(页面视图)后,pod通过绑定聚氯乙烯来使用页面浏览量(页面视图)资源。聚氯乙烯是k8s的一种抽象化的声明式绑定存储资源的管理模式的中间层,pod无法直接通过页面浏览量(页面视图)使用存储资源,必须经过聚氯乙烯,而聚氯乙烯必须要绑定页面浏览量(页面视图)实体后,才可被豆荚使用;

# vim nfs-pvc2.yaml

apiVersion: v1

kind: PersistentVolumeClaim

元数据:

名称:nfs-pvc2

规格:

访问模式:

eadWriteMany

资源:

请求:

存储:1Gi

存储类名:nfs

选择器:

匹配标签:

pv: nfs-pv2

执行yaml文件创建聚氯乙烯

# kubectl create -f nfs-pvc1.yaml

查看页面浏览量(页面视图)资源

备注:pv对应绑定的聚氯乙烯

4)创建豆荚

[root @ node 1 YAML]# vim NFS-nginx。YAML

apiVersion: v1

种类:复制控制器

元数据:

名称:nginx-测试

标签:

名称:nig NX-测试

规格:

副本:3

选择器:

名称:nginx-测试

模板:

元数据:

标签:

名称:nginx-测试

规格:

容器:

名称:web01

图片:1.14.2

卷安装:

挂载路径:/usr/share/nginx/html/

名称:nfs-pv1

挂载路径:/var/log/nginx/

名称:nfs-pv2

端口:

集装箱港口:80

体积:

名称:nfs-pv1

持续量声明:

声明名称:nfs-pvc1

名称:nfs-pv2

持续量声明:

声明名称:nfs-pvc2

备注:

# nfs-pv1存储网页文件,nfs-pv2日志文件

#执行文件

# kubectl create -f nfs-nginx.yaml

# kubectl获得分离舱宽

#创建NFS nginx服务器文件

# cat nfs-nginx-svc.yaml

apiVersion: v1

种类:服务

元数据:

名称:nginx-测试

标签:

名称:nginx-测试

规格:

类型:节点端口

端口:

端口:80

协议:TCP

目标港口:80

名称:http

节点端口:30088

选择器:

名称:nginx-测试

#执行文件

# ku bectl create-f NFS-nginx-SVCYAML

# kubectl获取服务

5)验证产品鉴定(生产验证)是否可用

测试页面:

#内部

#外网

备注说明:nfs自身没有冗余能力,数据盘损坏易丢失数据;建议使用:glusterfs或cephfs分布式存储;

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3