深入理解 DeepSea 和 Salt 部署工具

首先我们通过前几篇文章,已经搭建了一套完整的Ceph集群,对使用salt工具自动化搭建集群有所了解,下面我们就对部署方式进行详解

SUSE Enterprise Storage 部署方式

storage4 采用的方式:

ceph-deploy 工具,标准的ceph脚本部署,适用于中小型存储集群

crowbar工具,部署SUSE Openstack的标准工具

storage5/6 采用方式:

DeepSea (Salt),轻量级,敏捷性,灵活性,弹性部署

过去我们的部署方式采用社区的方式ceph-deploy或 crowbar 工具搭建,这2种工具部署都有一定局限性,不适合大型存储集群部署,敏捷性、灵活性太差。因此从2018年开始,SUSE Enterprise Storage 5 弃用 ceph-deploy / crowbar 群集部署工具 ,推出DeepSea方式进行部署,该方式更加轻量级,高速互通,敏捷性,灵活性,适用于各种场景部署集群系统,也是Ceph产品部署方式的趋势。

一、DeepSea 简介

      DeepSea 旨在节省管理员的时间,让他们自信地对 Ceph 群集执行复杂操作。Ceph 是一款高度可配置的软件解决方案。它提高了系统管理员的自由度和职责履行能力。最低的 Ceph 设置能够很好地满足演示目的,但无法展示 Ceph 在处理大量节点时可体现的卓越功能。DeepSea 会收集并储存有关单台服务器的相关数据,例如地址和设备名称。对于诸如 Ceph 的分布式储存系统,可能需要收集并储存数百个这样的项目。收集信息并手动将数据输入到配置管理工具的过程非常耗费精力,并且容易出错。准备服务器、收集配置信息以及配置和部署 Ceph 所需执行的步骤大致相同。但是,这种做法无法解决管理独立功能的需求。在日常操作中,必须做到不厌其烦地将硬件添加到给定的功能,以及从容地去除硬件。DeepSea 通过以下策略解决了这些需求:DeepSea 可将管理员的多项决策合并到单个文件中。这些决策包括群集指派、角色指派和配置文件指派。此外,DeepSea 会收集各组任务以组成一个简单的目标。每个目标就是一个阶段

深入理解 DeepSea 和 Salt 部署工具

关于DeepSea官方资料:

GitHub 链接: https://github.com/SUSE/DeepSea/wiki

  二、SaltStack 简介

深入理解 DeepSea 和 Salt 部署工具

SaltStack 是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack 基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、 python-msgpack和PyYAML等)构建。

通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

特性:

(1)部署简单、方便;

(2)支持大部分UNIX/Linux及Windows环境;

(3)主从集中化管理;

(4)配置简单、功能强大、扩展性强;

(5)主控端(master)和被控端(minion)基于证书认证,安全可靠;

(6)支持API及自定义模块,可通过Python轻松扩展。

SaltStack: Pillar 和 Grains 详解

深入理解 DeepSea 和 Salt 部署工具

SatlStack 远程执行

 1、远程执行

目标 (Targeting)

模块 (Module)

返回 (return)

2、目标

(1)和Minion ID 有关,需要使用Minion ID

通配符

正则表达式

列表

通配符方式:

# salt 'node00[1-3]'.example.com cmd.run 'w' node002.example.com: 13:06:12 up 4:05, 0 users, load average: 0.28, 0.09, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT node001.example.com: 13:06:12 up 4:05, 0 users, load average: 0.23, 0.13, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT node003.example.com: 13:06:12 up 4:05, 0 users, load average: 0.24, 0.09, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

正则表达式

# salt -E 'node(001|002).example.com' test.ping node002.example.com: True node001.example.com: True

(2)和Minion ID 无关,不涉及到Minion ID

子网 /  IP 地址

Grains

Pillar

Compound matchers (复合匹配)

Node groups (节��组)

Batching execution (批处理执行)

Grains 方式,OS是SUSE

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8395943d0748ddebff321de66210403b.html