自动化运维工具SaltStack安装配置
SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
特性:
(1)、部署简单、方便;
(2)、支持大部分UNIX/Linux及Windows环境;
(3)、主从集中化管理;
(4)、配置简单、功能强大、扩展性强;
(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;
(6)、支持API及自定义模块,可通过Python轻松扩展。
一、安装:
Salt-master: 192.168.12.22 soft:salt-master
Salt-minion01:192.168.12.25 soft:salt-minion
12.22操作
1、此次安装SaltStack采用yum安装方式,所以需要借助第三方yum源(epel和rpmforge)
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i 's@^#@@' /etc/yum.repos.d/epel.repo
sed -i 's@mirrorlist@#mirrorlist@' /etc/yum.repos.d/epel.reporpm -Uvh
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
2、安装依赖包
yum -y install python-jinja2
3、将以上操作在12.25上操作一遍
4、12.22安装SaltStack包
yum -y install salt-master
5、12.25安装yum -y install salt-minion
二、配置SaltStack
1、vim /etc/salt/master
interface: 192.168.12.22 绑定Master通信IP
auto_accept: True 自动认证,避免手动运行salt-key来确认证书信任
file_roots: 指定saltstack文件根目录位置
base:
- /srv/salt/
2、更新被控端配置(12.25)
vim /etc/salt/minion
master: 192.168.12.22
id: lvs-web1
三、启动SaltStack服务
1、服务端启动salt-master服务(12.22)
chkconfig salt-master on
/etc/init.d/salt-master start
2、被控端启动salt-minion服务(12.25)
chkconfig salt-minion on
/etc/init.d/salt-minion start
四、在master端查看公钥列表
1、12.22操作
salt-key -L
Accepted Keys:
lvs-web1
Denied Keys:
Unaccepted Keys:
Rejected Keys:
2、测试被控主机的连通性、硬盘的使用率、网络接口地址
测试被控主机(12.25)的连通性、硬盘的使用率、网络接口地址
salt '*' test.ping
lvs-web1:
True
salt '*' disk.usage
lvs-web1:
----------
/:
----------
1K-blocks:
10190136
available:
7409352
capacity:
24%
filesystem:
/dev/sda2
used:
2256496
/boot:
----------
1K-blocks:
514760
available:
456932
capacity:
7%
filesystem:
/dev/sda1
used:
30848
/cacti:
----------
1K-blocks:
20026236
available:
17443668
capacity:
9%
filesystem:
/dev/sda5
used:
1558620
/dev/shm:
----------
1K-blocks:
1962184
available:
1962172
capacity:
1%
filesystem:
tmpfs
used:
12
salt '*' network.interfaces
lvs-web1:
----------
eth1:
----------
hwaddr:
a6:95:ca:8a:6b:42
inet:
|_
----------
address:
192.168.12.25
broadcast:
192.168.12.255
label:
eth1
netmask:
255.255.255.0
inet6:
|_
----------
address:
fe80::a495:caff:fe8a:6b42
prefixlen:
64
scope:
link
up:
True
lo:
----------
hwaddr:
00:00:00:00:00:00
inet:
|_
----------
address:
127.0.0.1
broadcast:
None
label:
lo
netmask:
255.0.0.0
inet6:
|_
----------
address:
::1
prefixlen:
128
scope:
host
up:
True
3、远程执行命令测试
(1)cmd模块包含的shell的输出在被控端,比如cmd.run and cmd.run_all
salt '*' cmd.run date
lvs-web1:
Mon Dec 7 10:39:23 CST 2015
salt '*' cmd.run uptime
lvs-web1:
10:39:56 up 18 days, 20:02, 4 users, load average: 0.00, 0.00, 0.00
alt '*' cmd.run 'df -h'
lvs-web1:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.8G 2.2G 7.1G 24% /
tmpfs 1.9G 12K 1.9G 1% /dev/shm
/dev/sda1 503M 31M 447M 7% /boot
/dev/sda5 20G 1.5G 17G 9% /cacti
cmd.run 'ls -l /etc'
lvs-web1:
total 1552
drwxr-xr-x. 5 root root 4096 May 20 2015 ConsoleKit
-rw-r--r--. 1 root root 4439 Jul 16 2014 DIR_COLORS
。。。。。。。
(2)pkg函数自动映射本地系统的包管理到salt函数
salt '*' pkg.install vim
lvs-web1:
----------
vim-common:
----------
new:
7.4.629-5.el6
old:
7.2.411-1.8.el6
vim-enhanced:
----------
new:
7.4.629-5.el6
old:
7.2.411-1.8.el6
vim-filesystem:
----------
new:
7.4.629-5.el6
old:
五、salt-key参数
1、salt-key常用选项
-L, --list-all
#显示已经或未认证的被控端id,Accepted Keys为已认证清单;Unaccepted Keys为未认证清单
-a ACCEPT, --accept=ACCEPT
#接受单个id证书请求
-A, --accept-all
#接受所有id证书请求
-r REJECT, --reject=REJECT
#拒绝指定的公钥
-R, --reject-all
#拒绝所有正在请求的公钥
-d DELETE, --delete=DELETE
#删除指定的公钥
-D, --delete-all
#删除所有的公钥
2、salt-key返回信息
Accepted Keys:接受的公钥列表或者是被控主机
Unaccepted Keys:未被接受的公钥列表
Rejected Keys:被拒绝的公钥列表
自动化运维工具SaltStack安装配置的更多相关文章
- 自动化运维工具 SaltStack 搭建
原文地址:https://www.ibm.com/developerworks/cn/opensource/os-devops-saltstack-in-cloud/index.html#N10072 ...
- 自动化运维工具SaltStack详细部署【转】
==========================================================================================一.基础介绍==== ...
- 自动化运维工具SaltStack详细部署
==========================================================================================一.基础介绍==== ...
- 自动化运维工具——ansible安装入门(一)
一.简介 现如今有很多运维自动化的工具,如:Ansible.Puppet.saltStack.Fabric.chef.Cfengine 1. Ansible介绍 Ansible 是由 Cobbler与 ...
- Ansible自动化运维笔记1(安装配置)
1.Ansible的安装 pip install ansible==1.9.1 ansible1.9.1版本依赖的软件有 Python2.6以上版本 paramiko模块 PyYAML Jinja2 ...
- ansible自动化运维工具的安装与使用
运行环境 centOS6.6 ansible ansible的功能还是比较多的,博主只用它在集群上进行批量部署软件和维护的功能,其他不多做研究,有需要的话这篇文章会慢慢补充. ansible特点 轻量 ...
- 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
转自:https://segmentfault.com/a/1190000000513137 今天在进行 saltstack 多环境的时候,遇到一个问题,最终得到解决,好记性不如烂笔头,记录. 首先, ...
- 自动化运维工具 SaltStack 在云计算环境中的实践
http://www.talkwithtrend.com/Article/218473
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
随机推荐
- VC项目程序运行时设置指定目录读取Dll
方法一: 选择当前工程,右击"Properties" -> "Configuration Properties" -> "Debuggin ...
- PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例
我们将创建一个菜单栏.一个工具栏.一个状态栏和一个中心部件. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import ...
- N小时改变一次url时间戳的方法
//为url添加时间戳//time 为多长时间改变一次时间戳,以小时为单位function setTimeStamp(url, time){ var time = time || 4, ...
- Android 7.1.1 系统截屏
frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java Tak ...
- 【BZOJ1713】[Usaco2007 China]The Bovine Accordion and Banjo Orchestra 音乐会 斜率优化
[BZOJ1713][Usaco2007 China]The Bovine Accordion and Banjo Orchestra 音乐会 Description Input 第1行输入N,之后N ...
- ios 去除UITextField中的空格
NSString *qName =[userNameText.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNew ...
- 三维凸包求凸包表面的个数(HDU3662)
3D Convex Hull Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 最小树形图(poj3164)
Command Network Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 12834 Accepted: 3718 ...
- Win7系统右上角没有搜索怎么办?Win7找回资源管理器中的搜索框
最近有win7系统用户发现打开资源管理器,文件夹等右上角没有搜索框,这让人十分不方便无法进行搜索,那么如何找回呢?下面小编就分享一下方法给大家.推荐 最好用的Win7系统下载 操作步骤: 1.打开Wi ...
- Android官方架构组件介绍之LiveData
LiveData LiveData是一个用于持有数据并支持数据可被监听(观察).和传统的观察者模式中的被观察者不一样,LiveData是一个生命周期感知组件,因此观察者可以指定某一个LifeCycle ...