Lyndon Li's Blog

Ansible study note 00x01

Lyndon AnsibleStudy

为了更好的学习自动化运维,就必须学习配置管理工具,Ansible 比较好入门所以从它开始

安装和配置

安装

sudo pip install ansible

创建并编辑ansible的hosts文件,内容为已经配置ssh免密码登录的远程主机的地址。 /etc/ansible/hosts是默认路径

sudo mkdir /etc/ansible
sudo vi /etc/ansible/hosts

内容为INI格式:

192.168.1.134
192.168.1.136

也可以进行分组,同一个机器可以在不同分组

[v1]
192.168.1.134

[v2]
192.168.1.136

如果远程的ssh端口修改了不在22标准端口,文件内容中机器地址应该明确指定端口号如:192.168.1.134:2222

配置ssh免密码登录远程主机:

当前用户名与远程机器上相同,ssh key在默认位置

ssh-copy-id 192.168.1.136
ssh-copy-id 192.168.1.134

避免重复输入密钥的短语密码:

ssh-add ~/.ssh/id_rsa

在本地测试是否能够ping通:

ping全部机器

ansible all -m ping

以ashin用户身份ping .134

ansible 192.168.1.134 -m ping -u ashin

以用户ashin身份使用sudo来ping v1 (.134) -K是输入root密码

ansible v1 -m ping -u ashin --sudo -K

配置

配置文件可以从多个地方加载,其优先级顺序为:

ANSIBLE_CONFIG (环境变量)
ansible.cfg (当前目录)
.ansible.cfg (home目录)
/etc/ansible/ansible.cfg

定义自己的配置文件可以参考https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg

ssh检查key是通过paramiko进行的,很慢。 不检查host key配置:

sudo vi etc/ansible/ansible.cfg or ~/.ansible.cfg

内容为:

[defaults]
host_key_checking = False
Lyndon
一个保持清醒的沉睡者