Gluster-Heketi-Kubernetes 安装步骤(以DaemonSet形式安装) Ubuntu 16.04

参考文档https://github.com/gluster/gluster-kubernetes

 

实验环境

Kubernetes:v1.12.1

Glusterfs: 3.7.6

OS: Ubuntu 16.04

Docker:18.6.1

详细情况如下图所示:

 

要求

1. 至少三个gluster节点:至少需要3个节点用来部署glusterfs集群,并且这3个节点每个节点需要至少一个空余的磁盘。本案例中使用master,worker3,worker4作为gluster集群节点,加入的磁盘及各个节点IP如下:

master: 192.168.0.50   磁盘:/dev/sdb
worker3: 192.168.0.53  磁盘:/dev/sdc 
worker4: 192.168.0.54  磁盘:/dev/sdg

 删除所有分区(Each node must have at least one raw block device attached (like an EBS Volume or a local disk) for use by heketi. These devices must not have any data on them, as they will be formatted and partitioned by heketi.):

#master
sudo wipefs -a /dev/sdb

#worker3
sudo wipefs -a /dev/sdc

#worker4
sudo wipefs -a /dev/sdg

2. 安装Glusterfs客户端:每个gluster集群的节点需要安装gulsterfs的客户端。本案例中,需要在master, worker3,worker4上运行:

sudo apt-get install glusterfs-client

3. 加载内核模块:每个gluster集群的节点加载内核模块dm_thin_pool,dm_mirror,dm_snapshot。本案例中,需要在master, worker3,worker4上运行,执行语句:

sudo modprobe dm_thin_pool
sudo modprobe dm_mirror
sudo modprobe dm_snapshot

4. 开放端口

2222:GlusterFS pod的sshd
24007:Gluster Daemon
24008: GlusterFs 管理
49152-49251 :每个brick可能会用到的port

5. 默认情况下,出于安全原因,集群不会在主服务器master上调度pod。如果您希望能够在主服务器master上调度pod,请运行:(本案例将master作为gluster集群节点,因此需要开放该权限。否则,无需执行下面的语句。)

kubectl taint nodes --all node-role.kubernetes.io/master-

 

主要步骤

1. 在master节点,下载gluster-kubernetes, 运行

git clone https://github.com/gluster/gluster-kubernetes.git

该项目提供了自动化安装工具和各种模板。

2. 进入文件夹

cd gluster-kubernetes/deploy

3. 执行

 vim kube-templates/glusterfs-daemonset.yaml

修改kube-templates/glusterfs-daemonset.yaml内容,改变了pod存活检查和读取检查部分内容,如下:(如果不执行,会gluster pod会报错!)

注释了- "if command -v /usr/local/bin/status-probe.sh; then /usr/local/bin/status-probe.sh readiness; else systemctl status glusterd.service; fi"

添加:

- "systemctl status glusterd.service"

修改后的结果如下图所示:

修改后的文件如下:

---
kind: Dae
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值