启动vagrant虚拟机
vagrant up
然后在当前目录添加ansible.cfg文件:
[defaults]
hostfile = hosts
remote_user = vagrant
private_key_file = .vagrant/machines/default/virtualbox/private_key
host_key_checking = False
在当前目录添加hosts文件,匹配上面的ansible.cfg文件里面的hosts文件名
testserver ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222
执行ansible命令:
$ ansible testserver -m #执行ping模块
$ ansible testserver -m command -a uptime #执行uptime命令
$ ansible testserver -a uptime # command 模块很常用,可以默认
$ ansible testserver -a "tail /var/log/dmesg" # 执行tail命令,但是会失败
$ ansible testserver -s -a "tail /var/log/dmesg" # 使用root权限执行命令
$ ansible testserver -s -m apt -a name=nginx # 使用root权限运行apt命令安装nginx
$ ansible testserver -s -m apt -a update_cache=yes # apt更新软件包缓存
好像有个问题:
$ ansible testserver -s -m service -a name=nginx state=restarted
然后报了个错误:
ERROR! Missing target hosts
主机是debian jessie amd64, 不确定是不是systemd的问题。
网上查了一下,应该是这么写:
ansible testserver -s -m service -a "name=nginx state=restarted"