Ansible的安装及部署
时间 2021-01-16
标签
rhel8.2
linux
Ansible的安装
- 配置epel源安装仓库
地址:http://ftp.sjtu.edu.cn/fedora/epel/8/Everything/x86_64
dnf 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 |