SaltStack和Ansible是两种流行的配置管理和自动化工具。这里对两者进行对比,并给出基本的安装和使用示例。
SaltStack vs Ansible:
- SaltStack使用自己的通信协议,Ansible使用SSH协议
- SaltStack需要在被管理节点安装agent,Ansible不需要被管理节点安装agent
- SaltStack更适合依赖于客户机软件的 Windows 系统管理,Ansible更适合依赖于 SSH 的Linux/Unix 系统管理
- SaltStack使用Pythno开发,Ansible使用YAML语言编写Playbook
- SaltStack有更丰富的组件(如reactor),Ansible功能更简单
- SaltStack默认使用Push方法,Ansible默认使用Pull方法管理节点
SaltStack安装和使用:
bash
# 安装SaltStack
sudo apt install salt-master salt-minion
# SaltStack配置文件
/etc/salt/master # SaltStack主节点配置文件
/etc/salt/minion # 从节点配置文件
# 在从节点注冊主节点
sudo salt-minion -l quiet -L master.domain
# SaltStack命令行工具
salt '*' test.ping # 测试从节点连接
salt-key -L # 列出所有已知的主节点的凭证
salt-key -A # 验证所有新节点的凭证
salt '*' cmd.run 'echo hello' # 执行command
Ansible安装和使用:
bash
# 安装Ansible
sudo apt install ansible
# Ansible配置文件
/etc/ansible/ansible.cfg # Ansible全局配置文件
/etc/ansible/hosts # Ansible节点清单
# Ansible主机清单示例
[webservers]
node1
node2
# 测试Ansible与节点连接
ansible webservers -m ping
# Ansible Playbook执行
ansible-playbook playbook.yml
# Playbook示例
- name: Playbook to test Ansible
hosts: webservers
tasks:
- name: Run shell command
shell: echo "Hello from Ansible!"