Ansible的安装及部署
Ansible的安装
- 配置epel源安装仓库
地址:http://ftp.sjtu.edu.cn/fedora/epel/8/Everything/x86_64dnf install ansible -y
- ansible的基本信息:
etc/ansible/ansible.conf 全局配置文件,默认很少修改 etc/ansible/hosts 全局主机清单清单文件
Anisble清单
清单就是ansible控制主机的列表
/etc/ansible/hosts | 全局清单文件 |
---|
清单查看方式
- ansible 清单中组名称 [-i 清单文件] --list-hosts
- ansible ungrouped --list-hosts
- ansible all --list-hosts
- ansible-inventory --list-hosts
书写规则
-
单层清单
[list1]
node1.westos.com
node2.westos.com[list2]
172.25.254.3
[list3]
172.25.254.[1:3] #代表的是172.25.254.1~172.25.254.3 -
嵌套清单
[list4:children]
list1
list2
测试:
ansible命令指定清单的正则表达式
* | 所有 |
---|---|
: | 逻辑或 |
:& | 逻辑与 |
:! | 逻辑非 |
~ | 以关键字开头 |
~(str1|str2) | 以条件1或者条件2开头 |
Ansible配置文件参数详解
配置文件的分类与优先级
/etc/ansible/ansible.cfg | 基本配置文件,找不到其他配置文件此文件生效 |
---|---|
~/.ansible.cfg | 用户当前家目录中的.ansible.cfg文件优先级第二 |
./ansible.cfg | 当前目录下的ansible.cfg文件优先级最高 |
常用配置参数
[default] | 基本信息设定 |
---|---|
inventory= | 指定清单路径 |
remote_user= | 在受管主机上登陆的用户名称,未指定使用当前用户 |
ask_pass= | 是否提示输入SSH密码,如果公钥登陆设定为false |
library= | 库文件存放目录 |
local_tmp= | 本机临时命令执行目录 |
remote_tmp= | 远程主机临时py命令文件存放目录 |
forks= | 默认并发数量 |
host_key_checking= | 第一次连接受管主机时是否要输入yes建立host_key |
module_name= | 默认模块,默认使用command,可以修改为shell |
[privilege_escalation] | 身份信息设定 |
---|---|
become= | 连接后是否自动切换用户 |
become_method= | 设定切换用户的方式,通常用sudo |
become_user= | 在受管主机中切换到的用户,通常为root |
become_ask_pass= | 是否需要为become_method提示输入密码,默认为false |