前言
最近看招聘网站上都有这么一条, 熟悉Ansible的部署和安装…看了很多家公司都惊人的一致, 那么怎么办呢? 开搞呗
安装Ansible
yum install ansible -y
修改配置文件
配置文件地址为 /etc/ansible/hosts, 添加主机和组规则
一 是直接写域名和主机IP, 会默认port=22连接
[webservers] #组名 websevers ## alpha.example.org ## beta.example.org 127.0.0.1 #主机1 127.0.0.2 #主机2
二 是自定义别名及配置
[webservers] Monitor ansible_ssh_host=127.0.01 ansible_ssh_port=12345 # 定义别名 # ansible_ssh_host 连接目标主机的地址 # ansible_ssh_port 连接目标主机的端口,默认 22 时无需指定 # ansible_ssh_user 连接目标主机默认用户 # ansible_ssh_pass 连接目标主机默认用户密码 # ansible_ssh_connection 目标主机连接类型,可以是 local 、ssh 或 paramiko # ansible_ssh_private_key_file 连接目标主机的 ssh 私钥 # ansible_*_interpreter 指定采用非 Python 的其他脚本语言,如 Ruby 、Perl 或其他类似 ansible_python_interpreter 解释器
测试主机连通性
ansible 172.31.101.52 -m ping #单个主机
ansible webservers -m ping #单个组
这里我配置了ssh 免密登录(就是在 .ssh/authorized_keys 文件里面机上自己的秘钥), 如果需要登录的话还需要加上其他参数
# -i 指定 hosts 文件位置 # -u username 指定 SSH 连接的用户名 # -k 指定远程用户密码(不写-u 默认root) # -f 指定并发数 # -s 如需要 root 权限执行时使用 ( 连接用户不是 root 时 ) # -K -s 时,-K 输入 root 密码
成功后会出现如下提示, 证明主机连通成功了
简单测试
ansible webservers -m command -a “python /root/xiaofei/test.py”