第一章 SaltStack快速入门

1-1 SaltStack课程大纲

1-2 SaltStack快速入门-远程执行

salt的运行方式

  1. Local
  2. Master/Minion
  3. Salt SSH

saltstack三大功能

远程执行
配置管理
云管理
安装epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

在管理端安装:

[root@saltstack-node1 ~]# yum install salt-master salt-minion -y
[root@saltstack-node1 ~]# /etc/init.d/salt-master start 
Starting salt-master daemon:                               [  OK  ]
[root@saltstack-node1 ~]# chkconfig salt-master on
[root@saltstack-node1 ~]# chkconfig salt-minion on
~]# cd /etc/salt/
salt]# ll
total 64
-rw-r----- 1 root root 29543 Mar 23  2016 master
-rw-r----- 1 root root 26365 Mar 23  2016 minion
drwxr-xr-x 3 root root  4096 Sep 10 05:47 pki   启动创建的,认证后存放密钥的目录
[root@saltstack-node1 ~]# vim /etc/salt/minion
master: 192.168.52.21
[root@saltstack-node1 ~]# /etc/init.d/salt-minion start

在客户端安装:

[root@saltstack-node2 ~]# yum install salt-minion -y
[root@saltstack-node2 ~]# chkconfig salt-minion on
~]# cd /etc/salt/
[root@saltstack-node2 salt]# ll
total 28
-rw-r----- 1 root root 26365 Mar 23  2016 minion
salt]# vim minion
master: 192.168.56.21
salt]# /etc/init.d/salt-minion start

进行认证:

[root@saltstack-node1 salt]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
saltstack-node2.example.com
Rejected Keys:
[root@saltstack-node1 salt]# salt-key -a saltstack-node2.example.com
The following keys are going to be accepted:
Unaccepted Keys:
saltstack-node2.example.com
Proceed? [n/Y] y
Key for minion saltstack-node2.example.com accepted.
[root@saltstack-node1 ~]# salt-key
Accepted Keys:
saltstack-node2.example.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@saltstack-node1 salt]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
saltstack-node1.example.com
Proceed? [n/Y] y
Key for minion saltstack-node1.example.com accepted.
[root@saltstack-node1 ~]# salt-key 
Accepted Keys:
saltstack-node1.example.com
saltstack-node2.example.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:

Salt的远程执行
语法:salt 目标 模块.方法

  1. 目标(Targeting)
  2. 模块(Module)
  3. 返回(Returnners)
[root@saltstack-node1 ~]# salt "*" test.ping
saltstack-node2.example.com:
    True
saltstack-node1.example.com:
    True
[root@saltstack-node1 ~]# salt '*' cmd.run 'df -h'
saltstack-node2.example.com:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        19G  855M   18G   5% /
    tmpfs           491M   12K  491M   1% /dev/shm
    /dev/sda1       240M   27M  201M  12% /boot
saltstack-node1.example.com:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        19G  856M   18G   5% /
    tmpfs           491M   16K  491M   1% /dev/shm
    /dev/sda1       240M   27M  201M  12% /boot
[root@saltstack-node1 ~]# salt 'saltstack-node1.example.com' cmd.run 'uptime'
saltstack-node1.example.com:
     06:22:52 up 49 min,  1 user,  load average: 0.00, 0.04, 0.05

1-3 SaltStack快速入门-配置管理

[root@saltstack-node1 ~]# vim /etc/salt/master
file_roots:
  base:
    - /srv/salt
[root@saltstack-node1 ~]# /etc/init.d/salt-master restart
~]# mkdir -p /srv/salt
~]# cd /srv/salt/

配置一个入口top.sls文件:

[root@saltstack-node1 salt]# vim top.sls
base:      在base目录下
  '*':      对所有机器
    - apache  执行apache模块

编写apache模块:

[root@saltstack-node1 salt]# vim apache.sls
apache-service:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel
  service.running:
    - name: httpd
    - enable: True
[root@saltstack-node1 salt]# salt '*' state.highstate
posted @ 2017-09-11 09:58  ShenghuiChen  阅读(233)  评论(0编辑  收藏  举报