salt 安装 以及salt-api使用
salt--master 和 salt-minion
控制端 被控制端
通过 salt-api 访问 salt-master 来控制salt-minion 执行 命令 返回结果
LINUX 服务器安装过程
master /api
yum install -y salt-master
yum install -y salt-api pyOpenSSL
pip install salt-api
pip install cherrypy==3.2.3
cd /etc/pki/tls/certs/
make testcert
-->设置秘钥密码,(3次) ,剩下回车
cd ../private/
openssl rsa -in localhost.key -out localhost_nopass.key
chmod 755 /etc/pki/tls/certs/localhost.crt
chmod 755 /etc/pki/tls/private/localhost.key
chmod 755 /etc/pki/tls/private/localhost_nopass.key
useradd -M -s /sbin/nologin saltapi
passwd saltapi
sed -i '/#default_include/s/#default/default/g' /etc/salt/master
mkdir -p /etc/salt/master.d
cd /etc/salt/master.d
vim api.conf
rest_cherrypy:
port: 8001
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/private/localhost_nopass.key
vim eauch.conf
external_auth:
pam:
saltapi: # 用户
- .* # 该配置文件给予saltapi用户所有模块使用权限,出于安全考虑一般只给予特定模块使用权限
- '@runner'
- '@wheel'
systemctl restart salt-master
systemctl start salt-api
minion
yum install -y salt-minion vim /etc/salt/minion 写入一行 master: 主ip
ip:自己的id_name ip地址 写入 salt-master 的地址
master 控制 minion 端的命令
测试
salt '*' test.ping
salt '*' cmd.run 'ls /'
==============salt file模块使用------------->推送文件
修改配置文件/etc/salt/master,打开以下6行的注释
416 file_roots:
417 base:
418 - /srv/salt
529 pillar_roots:
530 base:
531 - /srv/pillar
mkdir -p /srv/salt/files
mkdir -p /srv/pillar
cd /etc/salt
vim host_file.sls
/etc/hosts: file.managed: - source: salt://files/A.zip - user: root - group: root - mode: 644
cd files
这里放 想要推送的包(多个包就把包 打成一个包)
A.zip
salt '*' state.sls ./host_file 执行推送