SaltStack实战之SaltStack快速入门

SaltStack实战之SaltStack快速入门

1. SaltStack介绍

Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。 
SaltStack是使用Python语言开发,同时提供Rest API方便二次开发以及和其它平台进行集成。 
Salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等。 
其它详细介绍:http://docs.saltstack.cn/topics/index.html

1.1 SaltStack常用网址

官方网站:http://www.saltstack.com 
官方文档:http://docs.saltstack.com 
GitHub:https://github.com/saltstack 
中国SaltStack用户组:http://www.saltstack.cn

1.2 SaltStack运行方式

* Local* Master/Minion* Salt SSH

1.3 SaltStack三大功能

* 远程执行* 配置管理* 云管理

Salt对于常用操作系统都支持。windows不支持Slat-master。

2. SaltStack部署

环境:CentOS6及以上版本 
安装方式:推荐用yum 
如果安装失败,可先执行 
yum -y update python 
再执行 
yum -y install salt-master salt-minion 
安装教程详细介绍:http://docs.saltstack.cn/topics/installation/index.html#installation

2.1 SaltStack master配置

vim /etc/salt/master # 修改interface配置为0.0.0.0

interface: 0.0.0.0

配置文件其它参数详细介绍:http://docs.saltstack.cn/ref/configuration/master.html

2.2 SaltStack minion配置

vim /etc/salt/minion # 修改master配置为master主机IP

master: 10.1.0.111

配置文件其它参数详细介绍:http://docs.saltstack.cn/ref/configuration/minion.html

2.3 SaltStack认证

[[email protected] ~]# salt-key -A[[email protected] ~]# salt-key -LAccepted Keys:salt-master111Denied Keys:Unaccepted Keys:Rejected Keys:[[email protected] ~]# 

2.4 saltsatck远程执行

[root@salt-master111 ~]# salt ‘salt-master111‘ cmd.run ‘uptime‘salt-master111:     11:04:55 up 202 days,  1:25,  1 user,  load average: 0.11, 0.15, 0.20[root@salt-master111 ~]# salt ‘salt-master111‘ test.pingsalt-master111:    True[root@salt-master111 ~]# 

以上的cmdtest是模块,pingrun是其相应模块的”功能函数”。

2.5 saltsatck配置管理

Salt使用State模块文件进行配置管理,使用YAML编写,以.sls结尾。 
了解salt state:http://docs.saltstack.cn/topics/tutorials/starting_states.html

2.5.1 修改master配置

vim /etc/salt/master # 修改file_roots配置如下

file_roots:  base:    - /srv/salt

修改后,重启master服务。

service salt-master restart

2.5.2 创建top.sls文件

创建一个top.sls文件,这个也是入口文件,也就是说,你执行相关命令的时候,会先检测这个文件,这文件提供了其它文件的映射,可以用于作为其它服务器的基础配置文件。 
vim /srv/salt/top.sls

base:  ‘*‘:    - apache    - user.useradd    - user.users    - user.userpasswd    - user.userdel    - user.sudoadd    - user.groupadd    - user.groupdel:

说明: 
base表示基础入口; 
‘*‘表示应用到所有minion; 
-后接子sls配置文件,不需要写文件后缀,.前表示文件夹;

2.5.3 创建子sls文件

vim /srv/salt/apache.sls

apache-service:  pkg.installed:    - names:      - httpd      - httpd-devel    service.running:      - name: httpd      - enable: True

2.5.4 执行生效

执行如下命令,apache服务则会自动安装和启动。 
salt ‘salt-master111‘ state.highstate

其它详细文档:http://docs.saltstack.cn/topics/states/index.html

时间: 2024-08-28 11:12:30

SaltStack实战之SaltStack快速入门的相关文章

saltstack第一波《快速入门》

saltstack课程总结 第1章 saltstack快速入门 1.1 快速安装 项目,VM1: saltstack-node1.example.com,VM2: saltstack-node2.example.com 安装角色,master && minion,minion IP(eth0),10.0.0.21,10.0.0.22 网关(eth0),10.0.0.2,10.0.0.2 DNS,8.8.8.8, 114.114.114.114,8.8.8.8, 114.114.114.11

  Saltstack实战

一:saltstack简介 部署的工作,不能只用手来做了,我们需要用工具来完成,工具化和标准化是相辅相成的,工具化让线上运行的东西更标准 Saltstack是比较新的自动化工具,是python开发的,也提供了api,saltstack有三大功能,远程执行,配置管理和云管理,配置管理也可以叫做状态管理,运维三板斧,监控,执行,配置 Saltstack对不,Puppet是ruby写的不支持远程执行  ansible 也是python写的.Saltstack的官方网站就是saltstack.com 运

CMake快速入门教程-实战

http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/ http://blog.csdn.net/dbzhang800/article/details/6314073 http://www.cnblogs.com/coderfenghc/archive/2013/01/20/2846621.html http://blog.sina.com.cn/s/blog_4aa4593d0100q3bt.html http://hahack.com/c

SaltStack实战之配置管理-Jinja2模板

SaltStack实战之配置管理-Jinja2模板 学习 SaltStack SaltStack实战之配置管理-Jinja2模板 1. Salt yaml配置文件使用Jinja2模板介绍 1.1 File状态使用template参数 1.2 模板文件里面变量使用{{ 名称 }} 1.3 变量列表 2. 实战应用 1. Salt yaml配置文件使用Jinja2模板介绍 jinja2官方网站: http://jinja.pocoo.org/ 1.1 File状态使用template参数 - tem

SaltStack实战之配置管理-YAML编写技巧

SaltStack实战之配置管理-YAML编写技巧 学习 SaltStack SaltStack实战之配置管理-YAML编写技巧 1. 概述和内容 2. YAML编写技巧 2.1 缩进 2.2 冒号 2.3 短横线 3. 同步文件实战 1. 概述和内容 salt包含一个健壮且灵活的配置管理框架,它构建在远程执行核心上.这个框架运行于minion上,它通过特定呈现语言的state文件,即可轻松地同时配置成千上万的主机. 后面配置管理所介绍的内容有: file_roots 设置状态文件的位置 env

SaltStack实战之数据系统-Grains

SaltStack实战之数据系统-Grains 学习 SaltStack SaltStack实战之数据系统-Grains 1. Grains应用场景 2. Grains应用示例 1. Grains应用场景 Grains可以在state系统中使用,用于配置管理模块. Grains可以在target中使用,用来匹配minion,比如匹配操作系统,使用-G选项. Grains可以用于信息查询,Grains保存着收集到的客户端的详细信息. 2. Grains应用示例 minion配置grains: 方法

SaltStack实战之配置管理-状态间关系

SaltStack实战之配置管理-状态间关系 学习 SaltStack SaltStack实战之配置管理-状态间关系 1. 状态相关模块 1.1 pkg 1.2 file 1.3 service 1.4 requisites 2. 实际应用 1. 状态相关模块 1.1 pkg 状态模块:pkg 功能:管理软件包状态 常用方法: pkg.installed # 确保软件包已安装,如果没有安装则安装 pkg.latest # 确保软件包是最新版本,如果不是,则进行升级 pkg.remove # 确保

SaltStack实战之配置管理-LAMP自动化部署

SaltStack实战之配置管理-LAMP自动化部署 学习 SaltStack SaltStack实战之配置管理-LAMP自动化部署 1. 部署思路 2. 编写lamp.sls 1. 部署思路 将lamp分成3部分:软件包.配置文件.服务: 确认安装的软件包名.配置文件路径.服务名等: 按以上信息编写yaml文件: 2. 编写lamp.sls [[email protected] salt]# pwd/srv/salt[[email protected] salt]# lsdev  init  

SaltStack实战之远程执行-Targeting

SaltStack实战之远程执行-Targeting 学习 SaltStack SaltStack实战之远程执行-Targeting 1. minion id配置 2. Targeting分类 SaltStack远程执行组成部分: 目标(Targeting) 模块(Module) 返回(Returnners) 1. minion id配置 minion id可以定义在minion配置文件中,如果未定义,默认使用的是hostname.minion id是不能变动的,因为minion与master认