自动化运维工具----saltstack安装及配置
Posted qicongliang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化运维工具----saltstack安装及配置相关的知识,希望对你有一定的参考价值。
Saltstack
一.环境准备
https://mirrors.aliyun.com/repo/Centos-7.repo
https://mirrors.aliyun.com/repo/epel-7.repo
需要以上两个阿里云的repo还有本机自身的centos7镜像的repo。
二.安装saltstack
在master机器上安装salt-master
yum -y install salt-master
在minion机器上安装salt-minion
yum -y install salt-minion
在master机器上配置/etc/salt/master配置文件
搜索file_root找到该配置栏目,把备注去掉
file_roots:
base:
- /saltstack/salt
搜索pillar找到该配置栏目,把备注去掉
pillar_roots:
base:
- /saltstack/pillar
开启防火墙
firewall-cmd --add-port=4506/tcp --permanent
firewall-cmd --add-port=4505/tcp --permanent
重启服务
设置开机启动
systemctl restart salt-master.service
systemctl enable salt-master.service
在minion机器上,配置/etc/salt/minion配置文件
搜索master并修改其ip地址
master: 172.16.1.177
搜索id,此处表示在master側显示本机为什么样的id。
id: web01
重启服务
设置开机启动
systemctl restart salt-minion.service
systemctl enable salt-minion.service
然后在master机器上输入命令
salt-key 查看是否有minion连接上(若连接不上,可能是minion配置或者是防火墙问题,配置文件的空格限制非常严格)
salt-key -A 接受所有连接
salt-key -a 接受主机
salt-key -d 删除主机
salt-key -l 列出所有
三.saltstack命令
Salt命令格式
目标 模块(命令) 方法(参数)
salt ‘*’ test.ping
salt ‘*’ cmd.run ‘df -h’
一些小实例:
-------------------------------------------------实例1:批量管理文件--------------------------------------------------
在之前的/etc/salt/master配置文件中我们已经定义了salt的file默认根目录为/srv/salt,pillar根目录为/srv/pillar。但是系统这时候是没有这两个目录的,因此要自己创建。
mkdir /srv/{salt,pillar}
然后进入/srv/salt,创建目录files
mkdir /srv/salt/files
同时创建配置文件,host_file.sls(salt配置文件的后缀必须为sls)
vim host_flie.sls
update-hosts:
file.managed:
- name: /etc/hosts #指定修改哪里的文件
- source: salt://files/hosts #指定源文件存放在本地的哪里
- user: root
- group: root
- mode: 664
执行命令,更新文件。
salt ‘*’ state.sls host_file
-------------------------------------------------实例2:批量安装应用-------------------------------------------------
创建sls文件
vim service_install.sls
service-install:
pkg.installed: #安装模块
- names:
- vsftpd
- httpd
- lrzsz
- lsof
service-running:
service.running: #服务启动模块
- enable: True
- reload: True
- names:
- vsftpd
执行sls文件
salt ‘*’ state.sls service_install.sls
------------------------------------------实例三:规划定时任务crontab------------------------------------------
创建sls文件
vim cron.sls
cleanup:
cron.present:
- name: /bin/bash /scripts/cleanup.sh #想要加入定时任务的命令
- user: root #指定用户为root
- minute: 5 #分
- hour: 10-23 #时
- daymonth: 1-30 #日
- month: 1-6 #月
# -dayweek: #周
以上是关于自动化运维工具----saltstack安装及配置的主要内容,如果未能解决你的问题,请参考以下文章