前言
本文介绍基于银河麒麟高级服务器操作系统V10已安装部署的k8s单机集群上部署GlusterFS、Heketi
本文涉及部署脚本主要基于gluster官方项目https://github.com/gluster/gluster-kubernetes在arm64上的迁移适配项目https://github.com/hknarutofk/gluster-kubernetes
前置条件
银河麒麟高级服务器操作系统V10上安装k8s单机集群: https://blog.csdn.net/m0_46573967/article/details/112935319
一、准备一个块独立的硬盘
在长城云上为银河麒麟高级服务器V10所在虚拟机分配一个独立的云盘。其他虚拟化平台类似,物理机则直接插到硬盘接口上。
新增的云盘会被内核自动识别
二、下载gluster-kubernetes脚本
切换到root用户,下载脚本
[yeqiang@192-168-110-185 桌面]$ sudo su
[root@192-168-110-185 桌面]# cd ~
[root@192-168-110-185 ~]# git clone --depth=1 https://github.com/hknarutofk/gluster-kubernetes.git
正克隆到 'gluster-kubernetes'...
remote: Enumerating objects: 157, done.
remote: Counting objects: 100% (157/157), done.
remote: Compressing objects: 100% (132/132), done.
remote: Total 157 (delta 21), reused 95 (delta 14), pack-reused 0
接收对象中: 100% (157/157), 659.85 KiB | 7.00 KiB/s, 完成.
处理 delta 中: 100% (21/21), 完成.
三、部署单点GlusterFS及heketi服务
由于资源有限,我们直接在当前服务器节点上部署一个GlusterFS实例、一个heketi实例
获取节点信息
[root@192-168-110-185 ~]# kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
192.168.110.185 Ready master 3h19m v1.18.6 beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=192.168.110.185,kubernetes.io/os=linux,kubernetes.io/role=master
节点直接是名与ip地址相同
创建topology.json文件
[root@192-168-110-185 ~]# cd gluster-kubernetes/
[root@192-168-110-185 gluster-kubernetes]# ^C
[root@192-168-110-185 gluster-kubernetes]# cd ..
[root@192-168-110-185 ~]# cd gluster-kubernetes/deploy/
[root@192-168-110-185 deploy]# vim topology.json
{
"clusters": [
{
"nodes": [
{
"node": {
"hostnames": {
"manage": [
"192.168.110.185"
],
"storage": [
"192.168.110.185"
]
},
"zone": 1
},
"devices": [
"/dev/sda"
]
}
]
}
]
}
注意:
node.hostnames.manage数组内填写的是节点名称,不是ip地址!只是我们当前安装的节点是以ip命名
node.hostnames.storage数组内填写的是GlusterFS安装目标节点ip地址
devices数组填写的是目前ip节点上为glusterfs准备的磁盘路径(空硬盘)
在目标节点服务器安装glusterfs-fuse
[root@192-168-110-185 ~]# yum install glusterfs-fuse -y
Last metadata expiration check: 0:11:06 ago on 2021年01月22日 星期五 14时43分51秒.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
=================================================================&#