002 ansible基础
一、使用ansible前提
管理节点与被管理节点之间建立SSH免密登录
免密登录步骤
[root@lwb ~]# ssh-keygen #管理节点中创建密钥对
[root@lwb ~]# ssh-copy-id root@192.168.1.1 #将本地的公钥传输到被管理节点
二、ansible基本语法
[root@lwb ~]# touch /tmp/a.conf
[root@lwb ~]# ansible all -i 192.168.1.1 -m copy -a "src=/tmp/a.conf dest=/tmp/a.conf"
选项参数解释
- all 这个位置就是匹配资产(-i 参数指定)中的一部分,称之为资产选择器。这里的all是匹配所有指定的资产,资产部分将在下面详细阐述。
-i
指定ansible的资产,也就是被管理服务器。-m
指定要运行的模块。-a
指定模块的参数。
总结
ansible就是指定模块去实现操作
三、ansible资产
ansible的资产分为静态资产和动态资产,动态资产会在后面的高级部分详细阐述
下面仅介绍静态资产
1. 自定义资产
默认情况下,ansible的资产文件位于/etc/ansible/hosts
。
这个文件可以自定义,之后使用-i
指定
# cat a.ini
[web_server] #按照业务场景定义成组
192.168.1.1
zhuji #可以使用主机,但需要做域名解析
192.168.1.[3:5] #可以使用此方法连续指定资产
[all_server] #使用此方法可以指定组继承
[all_server:chilfren]
web_server
2. 使用自定义资产
[root@lwb ~]# ansible web_server -i a.ini -m ping
3. 资产选择器语法
:
并集:&
交集:!
在前一个中,但不在下一个中
四、Ad-Hoc
和playbook
Ad-Hoc
用于解决一些简单的任务,直接在命令行中敲入命令。
playbook
中文名:剧本,用于解决一些较复杂的任务,如配置管理或部署。