03-Ansible管理命令,03-ansible命令


一、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 是日常工作中使用率非常高的命令之一,其主要在如下场景使用:
(1)非固化需求
(2)临时一次性操作
(3)二次开发接口调用

该命令使用方式如下:

ansible <host-pattern> [options]

比如:工作中我临时想查看 web1 服务器是否存活,或我想临时复制本地的 /etc/fstab 到 web1 服务器的 /tmp 目录下做测试等等。

具体的命令使用如下:
检查服务器存活

ansible web1 -m ping

复制本地文件到远程

ansible web1 -m copy -a "src=/etc/fstab dest=/tmp/fstab owner=root group=root mode=644 backup=yes"

详细参数可以查看帮助:

[root@ansible-manager ~]# ansible -h
Usage: ansible <host-pattern> [options]

Define and run a single task 'playbook' against a set of hosts

Options:
  -a MODULE_ARGS, --args=MODULE_ARGS
                        module arguments  
  --ask-vault-pass      ask for vault password
  -B SECONDS, --background=SECONDS
                        run asynchronously, failing after X seconds
                        (default=N/A)
  -C, --check           don't make any changes; instead, try to predict some
                        of the changes that may occur
  -D, --diff            when changing (small) files and templates, show the
                        differences in those files; works great with --check
  -e EXTRA_VARS, --extra-vars=EXTRA_VARS
                        set additional variables as key=value or YAML/JSON, if
                        filename prepend with @
  -f FORKS, --forks=FORKS
                        specify number of parallel processes to use
                        (default=5)
......

Some modules do not make sense in Ad-Hoc (include, meta, etc)

相关选项都有解释,这里不再详述。

三、ansible-doc 命令

ansible-doc 是 Ansible 模块文档说明,针对每个模块都有详细的用法说明及应用案例介绍,功能和 Linux 系统 man 命令类似。该命令使用方式如下:

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

ansible-doc 命令后跟[options]参数或[模块名],显示模块用法说明,具体示例如下:

列出支持的模块

ansible-doc -l

ping 模块功能说明

ansible-doc ping

四、ansible-playbook 命令

ansible-playbook 是日常应用中使用频率最高的命令,其工作机制是通过读取预先编写好的 playbook文件实现批量管理。要实现的功能与命令 ansible 是一样的,可以理解为按一定条件组成的 ansible 任务集。

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

ansible-playbook playbook.yml

具体示例如下:
执行 nginx.yml 这个 playbook 中定义的所有任务集

ansible-playbook nginx.yml

playbook 具有编写简单、可定制性高、灵活方便同时可固化日常所有操作的特点,运维人员应熟练掌握。

五、总结

本节介绍了 Ansible 管理的系列命令,并就常用的 ansible 、ansible-doc、ansible-playbook 命令做了简单介绍。下一节,我们学习 Inventory。

参考文档:
http://www.ilurker.cn/?post=283
http://www.sohu.com/a/128270825_610730
《Ansible 权威指南》

相关内容

    暂无相关文章