简介
ansible是一种运维自动化工具,默认通过ssh协议管理机器。只需要在一台机器上安装好,就可以通过这台电脑管理一组远程的机器。而被管理的linux机器只要有python环境,就不需要额外安装ansible。常用于批量服务器管理和持续交付(Git + Jenkins + Ansible)。
安装
- 使用包管理器安装:
yum install -y ansible
安装完成后,ansible提供7个指令:
- ansible:主要用于执行Ad-Hoc指令
- ansible-doc:用于查看模块信息
- ansible-galaxy:用于下载第三方扩展模块
- ansible-lint:用于检查playbook语法
- ansible-playbook:
- ansible-pull
- ansible-vault:用于加密/解密配置文件
常用参数
-v
:打印详细信息-i PATH
:指定hosts文件路径-f NUM
:指定fork开启同步进程的个数,默认为5-m MODULE_NAME
:指定module名称,默认为command模块-a MODULE_ARGS
:module模块的参数或命令-k PASSWORD
:输入远程被管理端密码-sudo
:基于sudo用户执行-K
:提示输入sudo密码与sudo一起使用-u USERNAME
:指定执行用户-C
:测试执行过程,不改变真实内容-T
:执行命令的超时时间,默认为10s--versio
n:查看版本
快速入门
- 添加被控端信息,编辑
/etc/ansible/hosts
文件 - 设置ssh免密登录
# 提示的话可以直接回车使用默认配置 ssh-keygen -t rsa # 假设被控端IP为192.168.0.21 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.21
- 测试执行:
ansible all -m ping -u root ansible all -m command -a "ls /home"