本文共 2196 字,大约阅读时间需要 7 分钟。
1、一个配置管理系统,能够维护预定义状态的远程节点。
2、一个分布式的远程执行系统,用来在远程节点上执行命令和查询数据。1、相对于其他(例如pupet)重量型自动化运维工具来讲其相对简单。
2、并发能力和并行执行能力强于ansible。 3、基于成熟的技术。 4、有python api,可自定义功能。 5、灵活,开源。1、需要独立安装客户端
2、安全隐患大(minion会具有root权限)依赖:
1、python2.6及以上 2、ZeroMQ或者RAET 3、mako(可选),一个salt states解析器 4、gcccentos下安装可以使用:
pip install salt或yum install -y salt-master salt-minion
如果源里没有这两个包可以先安装epel源,或者下载官方的rpm包安装。
在master上安装salt-master,minion上安装salt-minion
service start salt-master
vim /etc/salt/minion master: 10.10.109.19 // master地址 id: minion-1 // 设置minion的用于区分
systemctl start salt-minion
首先在master上查看请求加入的minion节点:
salt-key -L
然后执行命令让其加入:
salt-key -a minion-1
现在master和minion就处于联通的状态了
salt minion-1 test.ping
interface: 0.0.0.0
:监听的IPv4地址,默认0.0.0.0
publish_port: 4505
:与minion通信的端口(zeromq端口) user: root
:启动master进程的用户 max_open_files: 100000
:连接数,每一个连接到master的minion都会打开一个文件描述符 worker_threads: 5
:最大工作线程数 ret_port: 4506
获取minion返回结果的端口 pidfile: /var/run/salt-master.pid
:pid文件位置 root_dir: /
:master运行根目录 pki_dir: /etc/salt/pki/master
:秘钥存放路径 module_dirs
:salt模块路径 cachedir: /var/cache/salt/master
:缓存路径 keep_jobs: 24
:旧任务信息保存时间 timeout: 5
:api和command执行的超时时间 max_minions
:最大管理的minions open_mode: False
:开放模式,为true则任何minion都可无需认证就连接
auto_accept: False
:接收所有客户端的公钥(不需要salt-key -a这样接收了) token_expire: 43200
:master生成token存活时间 autosign_timeout: 120
:如果minion的keyid在master上的keyid文件中,则自动连接,超过这个时间需要重新认证 autosign_file: /etc/salt/autosign.conf
:自动接收minion keyid存放的文件 autoreject_file: /etc/salt/autoreject.conf
:自动拒绝,与autosign_file相反 external_auth:
:额外的验证方法 file_recv: False
:允许minion向master发送文件 file_recv_max_size: 100
:允许接收文件大小(MB) master: 10.10.109.19
:指定master的ip或主机名,可以是多个
master_type: str
:str表示一对一连接,failover表示容错连接,这时master必须为多个,minion会逐个通信;func表示动态指定的 max_event_size: 1048576
:最多接受master推送的事件数目 master_alive_interval
:master心跳检测 random_master: False
:若master多个,则算法是否随机 master_port: 4506
:连接master的端口 user: root
:启动minion用户 sudo_user: saltdev
:可通过sudo获取权限的用户 id: minion-1
:minion自身的id auth_tries: 7
:auth重试次数