[k8s]ubuntu18 + Heketi + Glsuterfs的独立部署

Posted baylorqu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[k8s]ubuntu18 + Heketi + Glsuterfs的独立部署相关的知识,希望对你有一定的参考价值。

关于ubuntu server 18 上部署glusterfs和heketi的文章网上有很多了,看起来都很顺利,但是我在部署的时候偏偏遇到了很多的问题, 记录一下。

环境:Ubuntu Server 18.04

     glusterfs-3.13

          heketi-v9

          heketi-client-v9

1、使用sudo apt-get install glusterfs-server 安装成功但是启动失败

  关于这个问题我也是醉了,使用了ubuntu server 18自带源的3.13版本和官方的3.12的版本,均是正常安装但是无法启动,最后按下面的方法安装的官方的3.13

[email protected]:~$ sudo apt install software-properties-common -y
[email protected]:~$ sudo wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.13/rsa.pub | sudo apt-key add -
[email protected]:~$ sudo add-apt-repository ppa:gluster/glusterfs-3.13 
[email protected]:~$ sudo apt install glusterfs-server -y

2、关于heketi的mock模式

  人家注释里只说了mock模式用于开发,也可以正常创建volume,但是没说创建的volume不可以挂载.....我是查了资料才知道的,正常使用的模式是另外两个

3、关于节点的硬盘

  heketi里的topology-sample.json可以定义使用的磁盘,也就是说使用glusterfs-server的服务至少两块硬盘,一块给系统,一块给存储,且存储的硬盘必须是原生的,没有文件系统的那种

4、使用heketi-cli命令创建volume卡在命令行,然后heketi的日志里拼命的刷vg_**********找不到、文件目录不存在、找不到挂载点

  创建volume命令回车之后直接卡在命令行差不多有半分钟后弹出个

Error: WARNING: This metadata update is NOT backed up.
  /usr/sbin/thin_check: execvp failed: No such file or directory
  WARNING: Integrity check of metadata for pool vg_e0fde12f7162d14b98a56faa11ec6e82/tp_c81f90a756749f14abbbb9e536144771 failed.
  /usr/sbin/thin_check: execvp failed: No such file or directory
  Check of pool vg_e0fde12f7162d14b98a56faa11ec6e82/tp_c81f90a756749f14abbbb9e536144771 failed (status:2). Manual repair required!
  Failed to activate thin pool vg_e0fde12f7162d14b98a56faa11ec6e82/tp_c81f90a756749f14abbbb9e536144771.
Removal of pool metadata spare logical volume vg_e0fde12f7162d14b98a56faa11ec6e82/lvol0_pmspare disables automatic recovery attempts after damage to a thin or cache pool. Proceed? [y/n]: [n]
  Logical volume vg_e0fde12f7162d14b98a56faa11ec6e82/lvol0_pmspare not removed.

  此前我一度ctrl+C导致我没有看到这个错误,走了不少弯路,这个问题解决办法非常简单,在glusterfs集群的所有节点上安装以下软件就可以了

[email protected]:~/heketi-client/share/heketi# apt install thin-provisioning-tools

 5、heketi.json的配置

  端口那里一定要写ssh的端口号,虽然它原来r的内容大大方方写的是默认22,结果一运行就说too many colons......

    rsa的文件不要放在/root目录下,因为权限问题一般人都无法访问的亲,可以放在比如/etc/heketi/的目录下,变更下权限

  手动创建/var/lib/heketi....这个我已经无力吐糟了..........

以上是关于[k8s]ubuntu18 + Heketi + Glsuterfs的独立部署的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu18.04搭建k8s集群

Ubuntu 18.04 下部署k8s

ubuntu18.04.4安装k8s

ubuntu18.04.4安装k8s

k8s网络之calico学习

ubuntu k8s 单节点快速安装