剖析关于-ansible配置文件和命令中ad-hoc模式使用参数详解

今天扣丁学堂给大家介绍一下关于-ansible的配置文件和-ansible命令使用的参数介绍,下面我们一起来看一下吧。

剖析关于-ansible配置文件和命令中ad-hoc模式使用参数详解

一、Ansible.cfg是自动化任务所用的一个核心配置文件,大部分的配置文件都集中在defualts配置项目中。

下面列出常用的配置参数:

1、inventory

该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表

inventory = /root/ansible/hosts

2、library

Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录

library = /usr/share/ansible

3、forks

设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。

forks = 5

4、sudo_user

这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数

sudo_user = root

//注意:新版本已经作了修改,如ansible2.4.1下已经为:

default_sudo_user = root

5)remote_port

这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的

remote_port = 22

6、host_key_checking

这是设置是否检查SSH主机的密钥。可以设置为True或False

host_key_checking = False

7、timeout

这是设置SSH连接的超时间隔,单位是秒。

timeout = 20

8、log_path

Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件

log_path = /var/log/ansible.log

另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的

9、private_key_file

在使用ssh公钥私钥登录系统时候,使用的密钥路径。

private_key_file=/path/to/file.pem

二、在python自动化实战中,需要用到ansible [options] 可用选项,那么使用ansible这个命令,有哪些功能和选项呢?

-v, --verbose:输出更详细的执行过程信息,-vvv可得到所有执行过程信息。

-i PATH, --inventory=PATH:指定inventory信息,默认/etc/ansible/hosts。

-f NUM, --forks=NUM:并发线程数,默认5个线程。

--private-key=PRIVATE_KEY_FILE:指定密钥文件。

-m NAME, --module-name=NAME:指定执行使用的模块。

-M DIRECTORY, --module-path=DIRECTORY:指定模块存放路径,默认/usr/share/ansible,也可以通过ANSIBLE_LIBRARY设定默认路径。

-a 'ARGUMENTS', --args='ARGUMENTS':模块参数。

-k, --ask-pass SSH:认证密码。

-K, --ask-sudo-pass sudo:用户的密码(—sudo时使用)。

-o, --one-line:标准输出至一行。

-s, --sudo:相当于Linux系统下的sudo命令。

-t DIRECTORY, --tree=DIRECTORY:输出信息至DIRECTORY目录下,结果文件以远程主机名命名。

-T SECONDS, --timeout=SECONDS:指定连接远程主机的最大超时,单位是:秒。

-B NUM, --background=NUM:后台执行命令,超NUM秒后kill正在执行的任务。

-P NUM, --poll=NUM:定期返回后台任务进度。

-u USERNAME, --user=USERNAME:指定远程主机以USERNAME运行命令。

-U SUDO_USERNAME, --sudo-user=SUDO_USERNAM:E使用sudo,相当于Linux下的sudo命令。

-c CONNECTION, --connection=CONNECTION:指定连接方式,可用选项paramiko (SSH), ssh, local。Local方式常用于crontab 和 kickstarts。

-l SUBSET, --limit=SUBSET:指定运行主机。

-l ~REGEX, --limit=~REGEX:指定运行主机(正则)。

--list-hosts:列出符合条件的主机列表,不执行任何其他命令

相关推荐