SaltStack快速入门
2017-05-09 01:39 Dr.CoCo 阅读(216) 评论(0) 收藏 举报一、SaltStack的介绍
SaltStack,简称salt,自动化管理工具,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
salt使用python语言开发。
salt的运行方式:
1.Local
2.Master/Minion (传统)
3.Salt SSH
salt的三大功能:
1.远程执行
2.配置管理
3.云管理
二、SaltStack安装及配置
saltstack没有在默认的安装包里,安装它需要先安装epel第三方源。
centos6安装
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
server:
# yum install -y salt-master
Client1:
# yum install -y salt-minion
Client2:
# yum install -y salt-minion
把服务加入到开机自动启动
## server # chkconfig salt-master on ## client # chkconfig salt-minion on
在Client端,配置/etc/salt/minion
# 16行变更 #master: salt --> master: 192.168.92.3 master: 192.168.92.3 #id:为空,表示FQN名
启动master和client
# service salt-master start #或 # /etc/init.d/salt-master start # service salt-minion start #或 # /etc/init.d/salt-minion start
三、使用
1.key认证

查看认证状态

添加认证客户端
## -A 全部主机 # salt-key -A ## -a 添加个别主机 # salt-key -a server # salt-key -a client
再次查看key认证状态:

注意:

删除 # salt-key -d xx 全部删掉 # salt-key -D (慎用)
2.远程执行功能
# salt '*' test.ping
client:
True
server:
True
# salt '*' cmd.run 'uptime'
client:
00:57:47 up 2:31, 1 user, load average: 0.05, 0.03, 0.05
server:
00:57:47 up 29 min, 1 user, load average: 0.03, 0.05, 0.08
# salt '*' cmd.run 'df -h'
client:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_wuyouwei-lv_root
18G 4.0G 13G 25% /
tmpfs 491M 80K 491M 1% /dev/shm
/dev/sda1 477M 35M 418M 8% /boot
server:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_wuyouwei-lv_root
18G 3.9G 13G 24% /
tmpfs 491M 88K 491M 1% /dev/shm
/dev/sda1 477M 35M 418M 8% /boot
3.配置管理(安装软件)
在server端,编辑/etc/salt/master
## 把注释放开 --->
file_roots:
base:
- /srv/salt/
# base前面必须是2个空格
# - 前面是4个空格
若/srv/salt/目录不存在,请创建。
# mkdir /srv/salt/ # /etc/init.d/salt-master restart
(很重要)在server端写状态配置
# cd /srv/salt/ [root@server salt]# ll total 0 [root@server salt]# vim apache.sls
#编辑内容,注意空格

执行安装命令
# salt '*' state.sls apache
server:
----------
ID: apache-install
Function: pkg.installed
Name: httpd
Result: True
Comment: Package httpd is already installed.
Started: 01:22:39.526997
Duration: 1258.992 ms
Changes:
----------
ID: apache-install
Function: pkg.installed
Name: httpd-devel
Result: True
Comment: Package httpd-devel is already installed.
Started: 01:22:40.786220
Duration: 0.55 ms
Changes:
----------
ID: apache-service
Function: service.running
Name: httpd
Result: True
Comment: Service httpd is already enabled, and is in the desired state
Started: 01:22:40.787406
Duration: 35.421 ms
Changes:
Summary
------------
Succeeded: 3
Failed: 0
------------
Total states run: 3
client:
----------
ID: apache-install
Function: pkg.installed
Name: httpd
Result: True
Comment: Package httpd is already installed.
Started: 01:22:39.542822
Duration: 1315.972 ms
Changes:
----------
ID: apache-install
Function: pkg.installed
Name: httpd-devel
Result: True
Comment: Package httpd-devel is already installed.
Started: 01:22:40.859029
Duration: 0.584 ms
Changes:
----------
ID: apache-service
Function: service.running
Name: httpd
Result: True
Comment: Service httpd is already enabled, and is running
Started: 01:22:40.860278
Duration: 138.662 ms
Changes:
----------
httpd:
True
Summary
------------
Succeeded: 3 (changed=1)
Failed: 0
------------
Total states run: 3
apache已经成功安装,正常启动

注:若将Client端的apache服务停掉,还是会自动同步启动
定义高级状态
# 编辑入口文件
# vim top.sls
base:
'*':
- apache
执行
# salt '*' state.highstate
浙公网安备 33010602011771号