使用 Ansible 管理N个服务器

Posted by Zeusro on September 9, 2019

安装教程很详细,我工作用的电脑是 MAC 系统.

不得不说,中文文档停滞了好久,已经处于断更的状态,看来用爱发电的事,对于我天朝人民来说,还是有点难度的.

1
2
3
4
5
6
7
➜  ~ ansible --version
ansible 2.8.3
  config file = None
  configured module search path = ['/Users/zeusro/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.8.3/libexec/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.4 (default, Jul  9 2019, 18:15:00) [Clang 10.0.0 (clang-1000.11.45.5)]

ping 模块

由于 mac 系统权限的问题,缺了个目录,得自己建

1
2
3
sudo mkdir -p /etc/ansible
sudo chmod 777 /etc/ansible
vi  /etc/ansible/hosts

ansible all -m ping -u root –become

升级组件

主要会用到command shellscript

command模块为ansible默认模块,不指定-m参数时,使用的就是command模块

缺点:不支持管道,就没法批量执行命令;

使用shell模块,在远程命令通过/bin/sh来执行;所以,我们在终端输入的各种命令方式,都可以使用; 但是我们自己定义在.bashrc/.bash_profile中的环境变量shell模块由于没有加载,所以无法识别;

使用scripts模块可以在本地写一个脚本,在远程服务器上执行

管理docker

配置文件

/etc/ansible/ansible.cfg ~/.ansible.cfg

ansible $ip -u root -a ‘pwd’

参考链接

macos环境下ansible学习笔记