saltstack初探

系统环境:CentOS release 6.7 (Final)

内核版本:2.6.32-573.el6.x86_64

硬件环境:20G硬盘    2G内存    双核CPU

IP地址部署:

master: 10.0.0.7     hostname:linux-node1.example.com

minion: 10.0.0.8     hostname:linux-node2.example.com

[[email protected] ~]# yum install salt-master salt-minion -y

[[email protected] ~]# cat /etc/salt/master | grep -v "^#"

client_acl:

oldboy:

- test.ping

- network.*

user01:

- linux-node1.example.com:

- test.ping

file_roots:

base:

- /srv/salt/base

prod:

- /srv/salt/prod

test:

- /srv/salt/test

pillar_roots:

base:

- /srv/pillar/base

master_job_cache: mysql

mysql.host: ‘10.0.0.7‘

mysql.user: ‘salt‘

mysql.pass: ‘salt‘

mysql.db: ‘salt‘

mysql.port: 3306

etcd_pillar_config:

etcd.host: 10.0.0.7

etcd.port: 4001

ext_pillar:

- etcd: etcd_pillar_config root=/salt/haproxy/

[[email protected] ~]# cat /etc/salt/minion | grep -v "^#"

master: 10.0.0.7

id: linux-node1.example.com

grains:

roles:

- webserver

- memcache

mysql.host: ‘10.0.0.7‘

mysql.user: ‘salt‘

mysql.pass: ‘salt‘

mysql.db: ‘salt‘

mysql.port: 3306

[[email protected] ~]# /etc/init.d/salt-master restart

Stopping salt-master daemon:                               [确定]

Starting salt-master daemon:                               [确定]

[[email protected] ~]# /etc/init.d/salt-minion restart

Stopping salt-minion daemon:                               [确定]

Starting salt-minion daemon:                               [确定]

[[email protected] ~]# salt-key  -L                      -L    显示所有的机器列表

Accepted Keys:

Denied Keys:

Unaccepted Keys:

linux-node1.example.com

linux-node2.example.com

Rejected Keys:

[[email protected] ~]# salt-key -a linux-node1.example.com         -a    指定接受某台机器

The following keys are going to be accepted:

Unaccepted Keys:

linux-node1.example.com

Proceed? [n/Y] y

Key for minion linux-node1.example.com accepted.

[[email protected] ~]# salt-key

Accepted Keys:

linux-node1.example.com

Denied Keys:

Unaccepted Keys:

linux-node2.example.com

Rejected Keys:

[[email protected] ~]# salt-key -A                                 -A    接受所有的机器

The following keys are going to be accepted:

Unaccepted Keys:

linux-node2.example.com

Proceed? [n/Y] Y

Key for minion linux-node2.example.com accepted.

[[email protected] ~]# salt-key                                  不带参数默认为-L

Accepted Keys:

linux-node1.example.com

linux-node2.example.com

Denied Keys:

Unaccepted Keys:

Rejected Keys:

[[email protected] ~]# salt ‘*‘ test.ping                       ======salt-master是否与salt-minion建立联系,如果建立则返回True

linux-node2.example.com:

True

linux-node1.example.com:

True

top file文件的作用:

告诉minion端在哪台机器上执行什么操作:

例子:

[[email protected] ~]# cat /srv/salt/top.sls

base:                                                         =============>指明什么环境

‘*.example.com‘:                                            =============>指明哪台机器

- apache                                                  =============>指明需要执行什么状态

apache.sls文件:

apache-install:                                               ==============>id,可随意取

pkg.installed:                                              ==============>模块和方法

- names:                                                  ==============>指定下面需要安装什么模块

- httpd                                                 ==============>需要哪个软件包

- httpd-devel                                           ==============>需要哪个软件包

apache-service:                                               ==============>id,可随意取

service.running:                                            ==============>模块和方法

- name: httpd                                             ==============>程序名

- enable: True                                            ==============>是否开机自启动

- reload: True                                            ==============>是否允许重载

[[email protected] salt]# salt ‘*‘ state.sls apache

salt                    命令

*                      指明哪一台机器

state                   模块

sls                     方法

apache                  指明是哪个状态文件需要执行

###########################################################################################################################################################################

###########################################################################################################################################################################

###########################################################################################################################################################################

[[email protected] ~]# yum install salt-minion -y

[[email protected] ~]# cat /etc/salt/minion | grep -v "^#"

master: 10.0.0.7

id: linux-node2.example.com

mysql.host: ‘10.0.0.7‘

mysql.user: ‘salt‘

mysql.pass: ‘salt‘

mysql.db: ‘salt‘

mysql.port: 3306

[[email protected] ~]# /etc/init.d/salt-minion restart

Stopping salt-minion daemon:                               [确定]

Starting salt-minion daemon:                               [确定]

老男孩网址:http://www.etiantian.org/

联系qq:406564728

欢迎提出宝贵建议

时间: 2024-10-22 23:58:49

saltstack初探的相关文章

SaltStack初探---学习重点在:salt-api、salt-sls、salt-run、pillar--2017年4月21日和24日

官网文档链接:https://docs.saltstack.com 远程执行:在远程系统上执行命令是Salt的核心功能,Salt可以在秒级内在成千上万个系统上执行命令. 事件驱动架构:可以在架构中的系统中驱动响应式配置和管理 配置管理:Salt有一套健壮且灵活的配置管理框架,该框架使得同时配置成千上万套系统毫不费力 Salt的基本组件和概念 Grains grains interface获取底层系统信息的接口.Grains收集操作系统,域名,IP,内核,OS类型,内存和其他系统属性 grains

学习saltstack (五)

Saltstack介绍 Salt三种运行方式 1.local本地运行2.Master/Minion3.Salt ssh Salt的三大功能 a.远程执行b.配置管理(状态管理)c.云管理:阿里云,aws,openstack都提供了封装好的接口,可以使用salt-cloud进行云主机的管理 Saltstack环境准备第一台:mini1,既作为salt-master,又作为salt-minion第二台:node2.chinasoft.com,只作为salt-minion 1.安装salt客户端和服务

Saltstack批量编译部署nginx(多模块)

最近一直在研究saltstack的同步文件和批量执行命令,随着架构的变大,批量部署的需求也变得明显起来了,我需要用一条命令就部署好nginx和tomcat,并且符合我所有的环境需求,可以直接投入生产环境使用,这就需要用到saltstack的批量安装部署功能了.这篇文章主要介绍nginx的批量部署,下篇讲解tomcat多实例的批量部署方法. 环境介绍: Centos 6.5 salt 2015.5.10 nginx 1.12.0 minion:test 1.修改master配置文件,修改后重启服务

进阶之初探nodeJS

一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知识稍多,适合初级入门node,固萌生一个想法--想在该篇随笔中,通过一步步编写一个稍大一点的node示例,让我们在整体上更加全面地了解node. so,该篇随笔是建立在"初探nodeJS"之上的,固取名为"进阶之初探nodeJS". 好了,侃了这多,那么我们即将实现一个

saltstack安装配置使用

背景:puppet 用ruby开发,saltstack用python语言开发的包 环境: 修改hostname和hosts文件, 关闭selinux,清空iptables 172.16.115.157  master.huangzp.com  ;hostname master 172.16.115.203  agent.huangzp.com  ;hostname agent 一.配置认证 1. 安装和启动Saltstack服务 master上: yum install  -y epel-rel

  Saltstack实战

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

从273二手车的M站点初探js模块化编程

前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数据. 273这个M站点是产品推荐我看的.第一眼看这个产品时我就再想他们这个三次加载和翻页按钮的方式,那么小分页的pageIndex是怎么计算的.所以就顺便看了下源码. 提到看源码时用到了Chrome浏览器的格式化工具(还是朋友推荐我的,不过这个格式化按钮的确不明显,不会的话自行百度). 三次加载和分

[转载]HDFS初探之旅

转载自 http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html , 感谢虾皮工作室这一系列精彩的文章. Hadoop集群(第8期)_HDFS初探之旅 1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上.它所具有的高容错.高可靠性.高可扩展性.高

MongoDB初探系列之二:认识MongoDB提供的一些常用工具

在初探一中,我们已经可以顺利的将MongoDB在我们自己的机器上跑起来了.但是在其bin目录下面还有一些我们不熟知的工具.接下来,将介绍一下各个小工具的用途以及初探一中MongoDB在data文件夹下创建的文件的用途. 1.bin目录下面的各种小工具简介及使用方式 bsondump.exe 用于将导出的BSON文件格式转换为JSON格式mongo.exe mongoDB的客户端 mongod.exe 用于启动mongoDB的Server mongodump.exe 用于从mongodb数据库中导