glusterfs之heketi 部署

银河麒麟高级服务器操作系统V10上k8s部署集成GlusterFS、Heketi 前言 本文介绍基于银河麒麟高级服务器操作系统V10已安装部署的k8s单机集群上部署GlusterFS、Heketi 本文涉及部署脚本主要基于gluster官方项目https://github.com/gluster/gluster-kubernetes在arm64上的迁移适配项目https://github.com/hknarutofk/gluster-kubernetes 前置条件 银河麒麟高级服务器操作系统V10上安装k8s单机集群: https://blog.youkuaiyun.com/m0_46. 阅读详情

 

96 xiao_b4b1 关注

 0.5 2018.11.09 17:21* 字数 334 阅读 730评论 0喜欢 1

heketi简介

heketi:提供基于RESTful接口管理glusterfs的功能,可以方便的创建集群管理glusterfs的node,device,volume;与k8s结合可以创建动态的PV,扩展glusterfs存储的动态管理功能

heketi-cli:heketi的客户端工具

本文基于手工部署的方式熟悉heketi的架构和使用

环境

服务器IP角色
master-192172.30.81.192gluster-node,heketi server
node-193172.30.81.193gluster-node
node-194172.30.81.194heketi-cli

注:master-192,node-193已经部署好glusterfs集群

安装heketi

master-192

yum install -y heketi

创建ssh用户免密钥登录glusterfs节点(以root为例)

ssh-keygen -f /etc/heketi/heketi_key -t rsa -N ''

[root@master-192 heketi]# ll /etc/heketi/
总用量 204
-rw-r--r-- 1 root root   1789 11月  9 15:13 heketi.json
-rw------- 1 root root   1679 11月  9 14:58 heketi_key
-rw-r--r-- 1 root root    397 11月  9 14:58 heketi_key.pub

将公钥放到对应节点
ssh-copy-id -i /etc/heketi/heketi_key.pub root@172.30.81.192
ssh-copy-id -i /etc/heketi/heketi_key.pub root@172.30.81.192

验证登录无需输入密码

[root@master-192 heketi]# ssh -i /etc/heketi/heketi_key root@172.30.81.193
Last login: Fri Nov  9 16:13:36 2018 from master-192
[root@node-193 ~]# 

修改heketi的配置文件/etc/heketi/heketi.json

{
  "_port_comment": "Heketi Server Port Number",
  "port": "8080",

  "_use_auth": "Enable JWT authorization. Please enable for deployment",
  "use_auth": false,

  "_jwt": "Private keys for access",
  "jwt": {
    "_admin": "Admin has access to all APIs",
    "admin": {
      "key": "123456"
    },
    "_user": "User only has access to /volumes endpoint",
    "user": {
      "key": "123456"
    }
  },

  "_glusterfs_comment": "GlusterFS Configuration",
  "glusterfs": {
    "_executor_comment": [
      "Execute plugin. Possible choices: mock, ssh",
      "mock: This setting is used for testing and development.",
      "      It will not send commands to any node.",
      "ssh:  This setting will notify Heketi to ssh to the nodes.",
      "      It will need the values in sshexec to be configured.",
      "kubernetes: Communicate with GlusterFS containers over",
      "            Kubernetes exec api."
    ],
    "executor": "ssh",

    "_sshexec_comment": "SSH username and private key file information",
    "sshexec": {
      "keyfile": "/etc/heketi/heketi_key",
      "user": "root"
    },

    "_kubeexec_comment": "Kubernetes configuration",
    "kubeexec": {
      "host" :"https://kubernetes.host:8443",
      "cert" : "/path/to/crt.file",
      "insecure": false,
      "user": "kubernetes username",
      "password": "password for kubernetes user",
      "namespace": "OpenShift project or Kubernetes namespace",
      "fstab": "Optional: Specify fstab file on node.  Default is /etc/fstab"
    },

    "_db_comment": "Database file name",
    "db": "/var/lib/heketi/heketi.db",

    "_loglevel_comment": [
      "Set log level. Choices are:",
      "  none, critical, error, warning, info, debug",
      "Default is warning"
    ],
    "loglevel" : "debug"
  }
}

注:"executor": ssh生产环境使用,kubernetes 为glusterfs容器部署使用
use_auth: true 开启认证模式,调用添加--user=admin --secret=123456

修改/usr/lib/systemd/system/heketi.service,否则通过service启动报错

[Unit]
Description=Heketi Server

[Service]
Type=simple
WorkingDirectory=/var/lib/heketi
EnvironmentFile=-/etc/heketi/heketi.json
User=root
ExecStart=/usr/bin/heketi --config=/etc/heketi/heketi.json
Restart=on-failure
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

启动heketi
systemctl daemon-reload
systemctl start heketi

验证

[root@master-192 diff]# curl http://172.30.81.192:8080/hello
Hello from Heketi[root@master-192 diff]# 

hekeli-cli部署使用

node-194
yum install -y heketi-cli

glutserfs集群数据主要包含节点node,brick存储点device,下面创建heketi集群的topology

[root@node-194 ~]# cat /etc/heketi/heketi-topology.json 
{
  "clusters": [
    {
      "nodes": [
        {
          "node": {
            "hostnames": {
              "manage": [
                "172.30.81.192"
              ],
              "storage": [
                "172.30.81.192"
              ]
            },
            "zone": 1
          },
          "devices": [
            "/dev/vdb"
          ]
        },
        {
          "node": {
            "hostnames": {
              "manage": [
                "172.30.81.193"
              ],
              "storage": [
                "172.30.81.193"
              ]
            },
            "zone": 1
          },
          "devices": [
            "/dev/vdb"
          ]
        }
      ]
    }
  ]
}
[root@node-194 ~]# heketi-cli --server http://172.30.81.192:8080 topology load  --json=/etc/heketi/heketi-topology.json 
Creating cluster ... ID: a9ca2cbc28c1194c59c5e26aac3ee307
    Allowing file volumes on cluster.
    Allowing block volumes on cluster.
    Creating node 172.30.81.192 ... ID: 8ef15510fb3152ab4515a375474842e3
        Adding device /dev/vdb ... OK
    Creating node 172.30.81.193 ... ID: 013d0fbed34f01964243f91123347568
        Adding device /dev/vdb ... OK

集群创建完成查看数据

[root@node-194 ~]# heketi-cli --server http://172.30.81.192:8080 cluster list
Clusters:
Id:a9ca2cbc28c1194c59c5e26aac3ee307 [file][block]
[root@node-194 ~]# heketi-cli --server http://172.30.81.192:8080 node list
Id:013d0fbed34f01964243f91123347568 Cluster:a9ca2cbc28c1194c59c5e26aac3ee307
Id:8ef15510fb3152ab4515a375474842e3 Cluster:a9ca2cbc28c1194c59c5e26aac3ee307

下面通过heketi创建gluster volume

[root@node-194 ~]# heketi-cli --server http://172.30.81.192:8080 volume create --size=10 --replica=2 
Name: vol_244ebb5ee623b28a18ace5c39db721ab
Size: 10
Volume Id: 244ebb5ee623b28a18ace5c39db721ab
Cluster Id: a9ca2cbc28c1194c59c5e26aac3ee307
Mount: 172.30.81.193:vol_244ebb5ee623b28a18ace5c39db721ab
Mount Options: backup-volfile-servers=172.30.81.192
Block: false
Free Size: 0
Block Volumes: []
Durability Type: replicate
Distributed+Replica: 2

glutserfs集群上查看volume

[root@master-192 diff]# gluster volume info
 
Volume Name: vol_244ebb5ee623b28a18ace5c39db721ab
Type: Replicate
Volume ID: e325399b-b458-4f88-b4d9-420c0082cf78
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 172.30.81.192:/var/lib/heketi/mounts/vg_10ff1dfd97b93c2f4a19bc51628d9581/brick_cf81dcf6916ec28c2ba8d837621c4a53/brick
Brick2: 172.30.81.193:/var/lib/heketi/mounts/vg_d78562d163b20e0b20083b5776f47df3/brick_bf99a18af00887c0e9879481848d5712/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
heketi-glusterfs-cluster:在k8s部署中部署glusterfs,并实现动态存储 heketi-glusterfs-cluster 在k8s部署中部署glusterfs,并实现动态存储 立即下载

相关推荐

从TI官方手册里挖细节:TPS5430负压电路那个不起眼却救命的Cd电容

本文深入解析TPS5430负压电路中关键Cd电容的作用与设计要点,揭示其在DC-DC电源设计中的重要性。通过对比TI手册和实战案例,详细阐述Cd电容在高频电流回路、能量缓冲和噪声抑制中的核心功能,并提供选型与布局指南,帮助工程师避免芯片烧毁风险,提升电路稳定性。

weixin_27102543的博客 362

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

MssGuo的博客 5776

ArduPilot + Gazebo + Mavros + QGC + 遥控器:从仿真到实机的自主轨迹控制实践

本文详细介绍了基于ArduPilot、Gazebo、Mavros和QGC的无人机自主轨迹控制全流程实践。从仿真环境搭建、多终端协同配置,到遥控器集成与自主圆形轨迹算法实现,提供了完整的代码示例和实机迁移要点,帮助开发者快速掌握无人机自主控制技术。

corn8的博客 942

K8s中集成Heketi使用Glusterfs

K8s中集成Heketi使用Glusterfs,Heketi是一个GlusterFs管理软件,提供相应的rest api服务,

冰之杍的博客 2144

MATLAB联合Fluent优化仿真

matlab与fluent交互

keleke_的博客 4731

几款开源的自动驾驶仿真平台项目

它被开发为一个虚幻的插件,可以简单地放到任何你想要的虚幻环境中。第一类是基于合成的数据,对环境、感知及车辆进行模拟,这里的感知大多数是图像层面的感知,这类模拟器主要用于感知、规划算法的初步开发上,Carla、AirSim、Udacity self-driving car simulator就属于这类;第二类是基于真实数据的回放,这里的真实数据包括图像、lidar、radar等各种传感器的数据,这类模拟器主要用于测试无人驾驶中信息融合算法以及车辆不同部件的性能,Apollo和Autoware就属于这类。

南七小僧的学海无涯 2850

kubernetes动态存储之glusterfs集群(heketi)

kubernetes存储类资源的详细实现过程

taonihou_的博客 1373

YOLO系列算法改进 | C3k2改进篇 | 融合MambaOut轻量化门控架构 | 纯卷积实现超越Mamba性能的同时兼顾极致轻量化与边缘部署效率 | CVPR 2025

YOLO系列算法改进 | C3k2改进篇 | 融合MambaOut轻量化门控架构 | 纯卷积实现超越Mamba性能的同时兼顾极致轻量化与边缘部署效率 | CVPR 2025 (以YOLOv26最新目标检测模型为基础,利用C3k2_MambaOut创新模块进行改进)

2502_91881744的博客 224

heketi管理glusterfs,k8s基于glusterfs创建storageclass

heketi 项目介绍:https://github.com/heketi/heketi要点概况:参考的文档:https://www.jianshu.com/p/8f36e59ae4f8heketi 二进制包下载:https://github.com/heketi/heketi/releases 编写systemd启动文件

eyeofeagle的博客 2011

试读源码在这里下载

试读文章的源码在这里下载。源码不做任何修改,重点重点重点:为了代码运行不报错,安装matlab 版本为 2021 及以上版本。matlab安装教程大家可以参考这个教程:手把手教你安装matlab软件。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4310

[企业AI落地] RAG 知识库系统在多租户环境下的细粒度权限隔离设计

多租户 RAG 系统真正的风险不只是搜不到,而是把不该看到的内容查出来、说出来、写回去。本文结合多客户售后知识助手场景,用元数据结构、向量检索过滤、回答策略和审计回写示例拆解租户、资源、检索、生成、审计五层权限边界。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 222

部署glusterfs及Heketi

部署GlusterFS集群 由gfs01.lampnick.com,gfs02.lampnick.com,gfs03.lampnick.com三个节点组成GlusterFS存储集群,并将gfs01.lampnick.com节点部署为heketi服务器。在各节点上,均使用sda用于为GlusterFS提供存储空间 分别在三个节点上安装glusterfs-server程序包,并启动glusterfs...

Nick学习PHP的点点滴滴 835

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 214

GlusterFs集群部署和Heketi配置

1. 了解GlusterFS几种存储模式 分布卷(DHT) 默认模式。将文件以hash算法随机分布到一个文件服务器节点中进行存储。Volume创建命令如下: gluster volume create test-volume server1:/exp1 server2:/exp2 复制模式(AFR) 将文件复制到replica x个文件节点中。Volume创建命令如下: gluster volume create test-volume replica 2 transport tcp server1:/e

三言两语 2047

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

部署GlusterFS及Heketi

一、前言及环境 在实践kubernetes的StateFulSet及各种需要持久存储的组件和功能时,通常会用到pv的动态供给,这就需要用到支持此类功能的存储系统了。在各类支持pv动态供给的存储系统中,GlusterFS的设定比较简单,且数据安全性比较有保障,相较于ceph和NFS。 环境(gluster-server之间互信): 二、部署GlusterFS 1.分别在三个节...

weixin_34281537的博客 716

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Kubernetes中部署Heketi和GlusterFS

Kubernetes中部署Heketi和GlusterFS Kubernetes中部署Heketi和GlusterFS 1. 前言 2. 环境说明 3. gluster-kubernetes部署 1. 前言 在Kubernetes中,使用GlusterFS文件系统,操作步骤通常是: 创建brick–>创建volume–>创建PV–>创建PVC–>Pod...

ygqygq2的IT博客 2856

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Kubernetes部署(十):储存之glusterfs和heketi部署

相关内容: Kubernetes部署(一):架构及功能说明Kubernetes部署(二):系统环境初始化Kubernetes部署(三):CA证书制作Kubernetes部署(四):ETCD集群部署Kubernetes部署(五):Haproxy、Keppalived部署Kubernetes部署(六):Master节点部署Kubernetes部署(七):Node节点部署Kubernetes部署(八):...

weixin_34405925的博客 1067

K8S部署Heketi与GlusterFS实战指南

/heketi-cli -s $HEKETI_CLI_SERVER(heketi的server接口) --user admin --secret 'hsop' topology load --json=/opt/heketi/topology.json。./heketi-cli -s http://192.168.0.210:8080 --user admin --secret 'hsop' cluster list 查看集群。最后在K8S上创建storageclass。log都正常的话表示启动成功。

cleveryangguang的博客 618

kubernetes中部署Heketi和GlusterFS(一)

前言 在kubernetes中,使用GlusterFS文件系统,操作步骤通常是:创建brick-->创建volume-->创建PV-->创建PVC-->Pod挂载PVC如果要创建多个PV,则需要手动重复执行这些繁锁步骤,那么使用GlusterFS如何动态创建呢,这就要借助于第三方的Heketi了,为什么要借助于Heketi呢,因为GlusterFS自身并不具备RESTful...

weixin_34270865的博客 860

Heketi安装与部署教程:3步搭建GlusterFS管理平台

Heketi是一个基于RESTful API的GlusterFS卷管理框架,能够帮助用户轻松搭建和管理GlusterFS存储集群。本文将通过3个简单步骤,带您快速完成Heketi的安装部署,实现对GlusterFS存储资源的高效管理。 ## 一、环境准备与安装Heketi ### 1.1 系统要求 Heketi可安装在任何能够访问所有存储节点的系统上,建议将数据库部署在安全位置以避免单点故障风

gitblog_07743的博客 553

kubernetes中部署Heketi和GlusterFS(二)

kubernetes中部署Heketi和GlusterFS(二)在上一节中,Heketi的部署方式还不能用于生产环境,因为Heketi Pod的数据并没有持久化,容易导致heketi的数据丢失,Heketi的数据保存在/var/lib/heketi/heketi.db文件中,因此需要把此目录挂载到GlusterFS分布式存储中。按照上一节的步骤,执行heketi-cli topology load...

weixin_42631858的博客 1598

在Kubernetes中部署GlusterFS+Heketi

目录 简介 Gluster-Kubernetes 部署 环境准备 下载相关文件 部署glusterfs 部署heketi server端 配置heketi client 简介 在上一篇《...

weixin_34050427的博客 314

独立部署GlusterFS+Heketi实现Kubernetes共享存储

目录 环境 glusterfs配置 安装 测试 heketi配置 部署 简介 修改heketi配置文件 配置ssh密钥 启动heketi 生产案例 heketi添加glusterfs 添加cluster 将4个glusterfs作为node添加到cluster 添加device 生产实际配置 添加volume 配置kubernetes使用glusterfs 创建storageclass 创建pvc 创建pod,使用pvc 环境 主机名 系统

因上努力,果上随缘。但行好事,莫问前程。 1167

全网最全 GlusterFS 三节点集群部署指南(Heketi 管理模式)

前言:随着信息技术的飞速发展,数据量呈爆炸式增长,传统的集中式存储系统已经难以满足现代应用对存储容量、性能和可靠性的苛刻需求。分布式存储技术应运而生,而 GlusterFS 作为其中的杰出代表,凭借其简单却强大的架构设计,成为了存储领域的一颗新星。

weixin_66855479的博客 1044
上一篇: 编辑器加载中another app is currently holding the yum lock;waiting for it to exit... 有时用yum升级一些文件时,会出现以下情况:
下一篇: 用heketi管理glusterfs并创建volume
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值