Saltstack快速入门
安装
1.只需要安装一台master即可,其他都安装minion客户端
master:yum -y install salt-master salt-minion systemctl enable salt-master.service
minion:yum -y install salt-minion systemctl enable salt-minion.service
systemctl start salt-master.service 启动即可
2.现在先不要启动minion。还需要配置minion,因为客户端现在还不知道master的地址
vim /etc/salt/minion
#16行
master: 192.168.73.128 #这里域名也行,如果是域名这样的会方便。
id #这里配置是用python来获取主机的FQN名称,也就是主机名,主机名必须事先写好
可以在目录中看到等待同意的主机 在 minions_pre 目录下
[root@linux-node1 pki]# pwd /etc/salt/pki [root@linux-node1 pki]# tree . ├── master │ ├── master.pem │ ├── master.pub │ ├── minions │ ├── minions_autosign │ ├── minions_denied │ ├── minions_pre │ │ ├── linu-node2.com │ │ └── linux-node1.com │ └── minions_rejected └── minion ├── minion.pem └── minion.pub 7 directories, 6 files
salt-key
[root@linux-node1 pki]# salt-key Accepted Keys: Denied Keys: Unaccepted Keys: linu-node2.com linux-node1.com Rejected Keys: [root@linux-node1 pki]# salt-key -a linu* The following keys are going to be accepted: Unaccepted Keys: linu-node2.com linux-node1.com Proceed? [n/Y] y Key for minion linu-node2.com accepted. Key for minion linux-node1.com accepted.
[root@linux-node1 pki]# tree
.
├── master
│ ├── master.pem
│ ├── master.pub
│ ├── minions
│ │ ├── linu-node2.com
│ │ └── linux-node1.com
│ ├── minions_autosign
│ ├── minions_denied
│ ├── minions_pre
│ └── minions_rejected
└── minion
├── minion.pem
└── minion.pub
这时你看客户端会偷偷的保存了一份master的公钥
[root@linux-node2 pki]# tree . └── minion ├── minion_master.pub ├── minion.pem └── minion.pub 1 directory, 3 files
简单的操作
salt是一个命令, * 是所有,,发送一个消息,看minion是否能回复。
test是一个模块,ping是一个方法
[root@linux-node1 pki]# salt '*' test.ping linux-node1.com: True linu-node2.com: True
调用cmd模块
[root@linux-node1 pki]# salt '*' cmd.run 'uptime' linux-node1.com: 23:43:38 up 12 min, 1 user, load average: 0.00, 0.04, 0.05 linu-node2.com: 23:43:38 up 12 min, 1 user, load average: 0.00, 0.06, 0.10
修改配置文件
vim /etc/salt/master
查找file_roots
修改注释
file_roots:
base:
- /srv/salt
这里配置的意思:指定base路径,默认必须有base环境
mkdir -p /srv/salt/
###切记勿使用tab键!!!
修改完配置文件,必须要重启salt-master服务!!!
状态配置文件
##编写状态文件需注意:
##空格!!!
##编写的一个状态,一定要支持多次执行!!!
实验安装编写一个安装apache.sls 这是必须的格式
[root@linux-node1 salt]# pwd /srv/salt [root@linux-node1 salt]# vim apache.sls
编写apache状态 内容:
apache-install:$ pkg.installed:$ #这个一个模块,installed是方法 - names:$ - httpd$ #安装这2个包。。用yum帮你安装,如果你是ubantu,会用apt-get帮你装上。。内部已经封装好了 - httpd-devel$ $ apache-service:$ #这个名称是自己起的 service.running:$ #这是一个方法 - name: httpd #这是进程名称 - enable: True$ #开机自动启动 - reload: True $ #可以重载 ~ ~ ~ ~ :set list
salt '*' state.sls apache #去执行 state是一个模块,这个模块有一个sls方法,然后附加一个参数是apache 。 ##这里的apache也就是apache.sls 所以你的后缀不能是别的
##如果报错!一定是状态文件没有写对!!!!,修改文件后,必须重启
这时候。
netstat -tnlp 就可以看到http启动
然后你在随便一台机器上查看后台进程
[root@linux-node2 pki]# ps -aux | grep yum root 2431 25.7 3.7 291376 70140 ? S 23:59 0:01 /usr/bin/python /usr/bin/yum -y install httpd-devel

浙公网安备 33010602011771号