博客详情

k8s中安装nfs-client作为默认StorageClass (原创)

作者: 朝如青丝暮成雪
发布时间:2020-04-20 18:32:34  文章分类:k8s   阅读(1526)  评论(0)

 Kubernetes集群管理员通过提供不同的存储类,可以满足用户不同的服务质量级别、备份策略和任意策略要求的存储需求。动态存储卷供应使用StorageClass进行实现,其允许存储卷按需被创建。如果没有动态存储供应,Kubernetes集群的管理员将不得不通过手工的方式类创建新的存储卷。通过动态存储卷,Kubernetes将能够按照用户的需要,自动创建其需要的存储。

比如,我们可能会在kubernetes集群中安装一些带持久化数据功能的服务,例如redis、mysql、mq、es等。因此,当有这类需求时,我们必须给整个集群给定一个特定的存储方案。本章我们是NFS的网络存储方案

1、搭建NFS 服务端(192.168.11.24)

我们可以在k8s集群外的一台主机上搭建一个nfs server。

yum install rpcbind  nfs-utils

mkdir /nfs_data

chmod +w /nfs_data

chmod +x /nfs_data


vi /etc/exports,内容如下:
/nfs_data  192.168.11.0/24(rw,no_root_squash)


启动nfs服务

service nfs start #启动nfs服务
service rpcbind start   #启动rpc服务

showmount  -e 192.168.11.24 #查看共享盘 ok


 2、安装nfs-client(存储类)
 
git clone https://github.com/helm/charts.git
 
cd charts/

#实例化一个Release ,指定Release名称为mynfs-client,并设置为默认的存储类
helm install stable/nfs-client-provisioner  \
--set nfs.server=192.168.11.24 --set nfs.path=/nfs_data \
--set storageClass.defaultClass=true \
--name mynfs-client 


kubectl get pod,发现出来一个以"mynfs"开头的pod,说明nfs-client安装成功了。

mynfs-client-nfs-client-provisioner-76ddc68dcf-7m2fl   1/1     Running   0          27m


3、使用helm运行一个redis pod测试

helm install  --name myredis  --namespace default --set redisPassword=123456asd . (指定chart包所在目录,如当前目录就是点(.) )

kubectl get pod ,发现出来了一个"myredis"开头的pod,说明redis的chart运行成功了。

myredis-redis-589d594ff9-f672b                         1/1     Running   0          19m


kubectl exec -it  myredis-redis-589d594ff9-f672b        sh #进入pod容器内部,set一些数据进去

redis-cli 

auth 123456asd

set a hello

set b world 


在nfsserver 主机上,

cd  /nfs_data 

ls ,发现存储类会自动帮我们创建pv 。


Ok ~~

关键字:  nfs  k8s  nfs-client  存储类
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号