当前位置 : 主页 > 网络安全 > 测试自动化 >

自动化运维工具----saltstack安装及配置

来源:互联网 收集:自由互联 发布时间:2021-06-19
Saltstack 一.环境准备 https://mirrors.aliyun.com/repo/Centos-7.repo https://mirrors.aliyun.com/repo/epel-7.repo 需要以上两个阿里云的 repo 还有本机自身的 centos7 镜像的 repo。 二.安装saltstack 在 master 机器上安

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配置文件中我们已经定义了saltfile默认根目录为/srv/saltpillar根目录为/srv/pillar。但是系统这时候是没有这两个目录的,因此要自己创建。

mkdir  /srv/{salt,pillar}  

然后进入/srv/salt,创建目录files

mkdir  /srv/salt/files

同时创建配置文件,host_file.slssalt配置文件的后缀必须为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:                                                              #周

网友评论