1. 概述
- 简单的 ansible
2. 准备
- ansible 安装
- 免密登录
- 详细的安装配置介绍
3. 约定
- 因为重点是 iventory, 所以只使用最简单的模块 ping
1. host-simple
-
概述
- 简单版 hosts 文件
-
hosts
- 不是 /etc/hosts
- ansible 脚本, 很多时候, 需要主机的环境
- 如果配置 /etc/hosts
- 不太方便
- 没法跟着脚本走
- 不是 /etc/hosts
-
格式
# hosts-simple 192.168.20.135.nip.io ansible_user=root
-
命令
# ansible -i <hosts> <hosts/group> -m <module> > ansible -i hosts-simple 192.168.20.135.nip.io -m ping
-
疑问
- nip.io
这玩意到底是啥
- nip.io
2. hosts
-
概述
类似系统的 hosts 文件
-
文件结构
-
主机名, 地址对
-
格式
<hostName> ansible_host=<ip>
-
问题
- ansible_host 只是一个属性
1. 还有别的属性吗
- ansible_host 只是一个属性
-
-
集群
-
概述
- 可以引入多个 地址对
-
格式
[groupName] <hostName> <hostName>
-
大集群
-
概述
集群还可以继续组
-
格式
[superGrouop:subGroup] <group> <group>
-
-
属性
-
概述
- 以组为单位, 划分的属性
-
格式
[group:vars] <key>=<value>
-
疑问
- 不知道有没有 继承 的关系
-
-
示例
# 1. 服务器 demo ansible_host=192.168.2.135 # 2. 服务器组 [servers] demo # 3. 大组 [cloud:children] servers # 4. 变量 [cloud:vars] ansible_connection=ssh ansible_user=root ansible_private_key_file=~/.ssh/id_rsa host_key_checking=True
-
-
-
ansible 命令: 指定 host 文件
-
默认
/etc/ansible/hosts
-
参数
-i <hosts>
-
2. ping 模块
-
概述
- ansible 的功能, 都是靠 模块 来实现的
- ping 模块, 自然就是实现 ping 功能的
-
参数
-m <module>
3. 分组执行
-
概述
脚本执行的粒度, 是可以指定的
-
命令
# 1. 地址对
> ansible -i hosts demo -m ping
# 2. 组
> ansible -i hosts servers -m ping
# 3. 大组
> ansible -i hosts cloud -m ping
# 4. 所有
> ansible -i hos
ts all -m ping