k8s之存储卷选型和glusterfs集群安装

如果要在生产环境中使用k8s,不能不提存储卷,因为生产环境中运行中的数据总得要永久存储下,现在类似这种文件存储卷方案有很多种,这是官方站上展示的Kubernetes 支持下列类型的卷:
·      awsElasticBlockStore
·      azureDisk
·      azureFile
·      cephfs
·      cinder
·      configMap
·      csi
·      downwardAPI
·      emptyDir
·      fc (fibre channel)
·      flexVolume
·      flocker
·      gcePersistentDisk
·      gitRepo (deprecated)
·      glusterfs
·      hostPath
·      iscsi
·      local
·      nfs
·      persistentVolumeClaim
·      projected
·      portworxVolume
·      quobyte
·      rbd
·      scaleIO
·      secret
·      storageos
·      vsphereVolume
从以上我们可以看到,k8s是支持很多存储卷类型的,可以跟进自己的环境选择自己适合的类型,在这些卷中,有很多我们是比较熟悉的,比如:NFS类型,据我所知,现在很多企业开始用存储卷选择的就是NFS,也用在了生产环境中,没啥问题,但还是要说一句,要根据你自己的业务场景选择,如果要求不太高,NFS可以满足需求,但也有其弊端,但你要问我那个最好,我给不了答案,我只能说我们在用什么,其他没用过的我不敢瞎忽悠,毕竟生产环境稳定第一,搞出问题解决不了,都白扯,我们之前的生产环境选择的glusterfs,之所以选择它,还是考虑到它比较安装简单和使用方便,所以就上了生产环境,运行一直比较稳定,没出过什么大的问题,所以今天就重点把glusterfs给大家介绍下,以下呢是非生产环境的安装测试,如果要用到生产环境,增加几台机器,选择分布式复制卷类型就可以了,其他操作基本一样,让我们开始:
准备2台机器:
加入Host

192.168.1.1 gluster1

192.168.1.2 gluster2

2台机器运行:

注意第二条命令,这是关键,这样才是glusterfs的完整安装,有些资料就给一条命令,yum glusterfs*什么的会安装不全包。

以下就是敲命令了:

创建卷,如果不是单独的磁盘,跟/放到了一个磁盘会有提示,像我们这次的测试安装就会有提示,生产环境一般是多台机器且是独立磁盘,不会出现该警告,因为测试,我们加force参数可以强制使用:

到此就基本结束了,主要说了glusterfs集群的安装,集群加入,卷的创建和卷信息查看等,但怎么实际在k8s中使用呢,我们接下来说。
因为后续我们要演示在此基础上安装jenkins,并且把jenkins部署到我们集群中使用gulsterfs的卷,所以我们先把jenkins需要的卷创建出来,

我这里封装成了脚本,cg.sh就是创建卷 和启动卷的脚本,只要加执行参数就可以,第一个参数是是卷名称,第二个是卷路径,脚本内容如下:

这样jenkins需要的存储卷我们就创建好了,下一步我们就开始现在jenkins了,限于篇幅,我们放到下一篇再说。
希望该篇文章对大家有帮助,喜欢的帮忙转一下吧