Skip to content

1.saltstack 介绍及安装

一、saltstack介绍

  • 官方的中文介绍:http://docs.saltstack.cn/topics/index.html

1.saltstack 简介

  • SaltStack是一种新型的基础设施管理软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流,以毫秒为单位。
  • SaltStack提供了一个动态基础设施通信总线用于编排,远程执行、配置管理等等。
  • SaltStack项目于2011年启动,年增长速度较快,五年期固定基础设施编制和配置管理的开源项目。
  • SaltStack社区致力于保持slat项目集中、友好、健康、开放。

它的两大基础功能就是

  • 配置管理、远程命令执行。
  • 可根据需求自由组合,实现更复杂的功能和系统管理。

2.saltstack 与 ansible 的区别

  • saltstack不是像ansible那样底层用ssh协议,它使用的基于ZeroMQ(一种轻量级的消息队列)来进行高效的网络通信。

优点

  • 执行效率高,高效的网络通信。

缺点

  • 配置比较繁琐,而且客户端需要开服务,并且客户端需要配置配置文件。

3.使用saltstack步骤

  1. 安装和配置SaltStack
  2. 远程执行命令所有管理系统
  3. 设计、开发和部署系统配置
  4. 用SaltStack反应器来自动化基础设施
  5. 协调使用SaltStack编排复杂的管理操作

二、安装SaltStack控制端及客户端

1.安装EPEL源

  • master和所有minion服务器都要安装
yum install epel-release

2.安装软件包

  • 管理服务器上安装salt-master包
yum install salt-master
  • 被管理节点安装salt-minion包(master上也可以管理自己)
yum install salt-minion

3.定义主节点

  • 所有被管理节点上指定master的ip
  • vim /etc/salt/minion
# 默认在16行,去掉注释 master: 后指定master的ip
master: 10.1.1.11

4.启动服务

  • 各节点启动相应的服务,并设置为开机自动启动

1.master

  • 控制端启动服务
systemctl start salt-master
  • 控制端服务开机自启
systemctl enable salt-master

2.minion

  • 被控制端启动服务
systemctl start salt-minion
  • 被控制端服务开机自启
systemctl enable salt-minion

3.查看是否建立连接

  • 查看连接命令
salt-key
  • 查询 saltstack 的 minion 端
  • master、minion1、minion2 为未接受钥匙的minion端
Unaccepted Keys
Accepted Keys:
Denied Keys:
Unaccepted Keys:
master
minion1
minion2
Rejected Keys:

4.设置接受钥匙的客户端

  • 使用-a参数表示接受,把Unaccepted Keys变成accept状态(也可以使用salt-key -A命令一次性全接受)
  • minion1 为接受钥匙的被控制端的主机名。
salt-key -a minion1
  • 全接收
salt-key -A

5.测试连接

1.测试连接是否成功命令

salt '*' test.ping 
  • 测试结果
minion1:
    True
minion2:
    True
master:
    True

2.查看up状态的被管理机器命令

salt-run manage.up
  • 测试结果
- master
- minion1
- minion2

三、SaltStack组件

1.SaltStack Master

  • 中央管理系统(服务端),这个系统是用来发送命令和配置到SaltStack Minion上运行。

2.SaltStack Minion

  • 接受受管理系统(客户端),该系统接收来自SaltStack Master命令和配置。

3.执行模块

  • 从命令行执行一个或多个命令控制受管理系统。
  • 适用于
    • 实时监控、状态和库存
    • 一次性命令和脚本
    • 部署关键更新

4.规则(States)

  • 声明或命令式表示一个系统的配置。

5.Grains

  • 系统变量, Grains是静态信息基础管理系统,包括操作系统、内存和许多其他的系统属性,您还可以定义定制的Grains为任何系统。

6.Pillar

  • 用户定义的变量,这些安全变量定义和存储在Salt Master,然后“分配”到一个或多个下属,Pillar数据存储值,文件路径,配置参数,和密码。

7.Top File

  • 执行编排的任务
  • 数据匹配公式

8.Runners

  • 模块执行SaltStack Master执行支持任务,Runners报告的工作状态、连接状态读取数据从外部api,查询连接Salt Minions和更多。
  • 如:安排Runners在许多系统之间协调配置部署。

9.Returners

  • SaltStack Minion返回的数据发送到另一个系统,如数据库,Returners可以运行在Salt Minion或Salt Minion。

10.Reactor

  • SaltStack环境中触发事件发生时的反应。

11.Salt Cloud / Salt Virt

  • 云提供商提供系统/管理程序并立即把他们管理下。

12.SaltStack SSH

  • SaltStack使用ssh运行命令,在没有Salt Minion的情况下。
Published inSaltstack

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注