Ansible管理命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible管理命令相关的知识,希望对你有一定的参考价值。

Ansible 管理命令

(1)ansible

这个命令是日常工作中使用率非常高的命令之一,主要用于临时一次性操作;

(2)ansible-doc

Ansible 模块文档说明,针对每个模块都有详细的用法说明和应用案例介绍;

(3)ansible-galaxy

可以简单的理解为 Github 或 PIP 的功能,是 Ansible 官方一个分享 role 的功能平台。可以通过 ansible-galaxy 命令很简单的实现 role 的分享和安装;

(4)ansible-playbook

是日常应用中使用频率最高的命令,其工作机制是,通过读取预先编写好的playbook文件实现批量管理;

(5)ansible-pull

Ansible 的另一种工作模式,pull 模式,Ansible 默认使用 push 模式;

(6)ansible-vault

主要用于配置文件加密;

(7)ansible-console

让用户可以在 ansible-console 虚拟出来的终端上像 Shell 一样使用 Ansible 内置的各种命令。

命令详解

ansible 命令

命令格式

ansible <host-pattern> [options]

--version 显示版本
-a 模块参数(如果有)
-m module 指定模块,默认为command
-v 详细过程 –vv -vvv更详细
--list-hosts 显示主机列表,可简写--list
-k, --ask-pass 提示连接密码,默认Key验证
-K,--ask-become-pass 提示使用sudo密码
-C, --check 检查,并不执行
-T, --timeout=TIMEOUT 执行命令的超时时间,默认10s
-u, --user=REMOTE_USER 执行远程执行的用户
-U, SUDO_USER, --sudo-user 指定sudu用户
-b, --become 代替旧版的sudo 切换

查看版本号

# ansible --version
ansible 2.6.7

查看客户机状态

# ansible server1 -m ping
192.168.61.130 | SUCCESS => {
"changed": false, 
"ping": "pong"
}

查看主机列表

# ansible server1 --list
hosts (1):
192.168.61.130

复制文件到客户机

# ansible server1 -m copy -a ‘src=/wh_k/test1.txt dest=/wh_k backup=yes‘
192.168.61.130 | SUCCESS => {
"changed": true, 
"checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709", 
"dest": "/wh_k/test1.txt", 
"gid": 0, 
"group": "root", 
"md5sum": "d41d8cd98f00b204e9800998ecf8427e", 
"mode": "0644", 
"owner": "root", 
"size": 0, 
"src": "/root/.ansible/tmp/ansible-tmp-1544361826.12-278173604489771/source", 
"state": "file", 
"uid": 0

ansible-doc 命令

命令格式

ansible-doc [options] [module...]

ansible-doc 命令后跟[options]参数或[模块名],显示模块用法说明

列出模块

# ansible-doc -l
a10_server                                           Manage A10 Networks AX/SoftAX/Thunder/vThunder devices‘ server object.       
a10_server_axapi3                                    Manage A10 Networks AX/SoftAX/Thunder/vThunder devices 
....
....

模块说明

# ansible-doc ping
> PING    (/usr/lib/python2.6/site-packages/ansible/modules/system/ping.py)

A trivial test module, this module always returns `pong‘ on successful contact. It does not make
...

ansible-playbook 命令

命令格式

ansible-playbook playbook.yml

ansible-playbook 命令后跟 YML 格式的 playbook 文件,执行事先编排好的任务集

命令示例

# ansible-playbook nginx.yml

以上是关于Ansible管理命令的主要内容,如果未能解决你的问题,请参考以下文章

Ansible命令执行方式

Django + Ansible 主机管理

Django + Ansible 主机管理

ansible

详解Ansible服务常用命令模块

使用ansible远程执行命令