一、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 [options]
1
比如:工作中我临时想查看 web1 服务器是否存活,或我想临时复制本地的 /etc/fstab 到 web1 服务器的 /tmp 目录下做测试等等。
具体的命令使用如下:
检查服务器存活
ansible web1 -m ping
1
复制本地文件到远程
ansible web1 -m copy -a "src=/etc/fstab dest=/tmp/fstab owner=root group=root mode=644 backup=yes"
1
详细参数可以查看帮助:
[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...]
1
ansible-doc 命令后跟[options]参数或[模块名],显示模块用法说明,具体示例如下:
列出支持的模块
ansible-doc -l
1
ping 模块功能说明
ansible-doc ping
1
四、ansible-playbook 命令
ansible-playbook 是日常应用中使用频率最高的命令,其工作机制是通过读取预先编写好的 playbook文件实现批量管理。要实现的功能与命令 ansible 是一样的,可以理解为按一定条件组成的 ansible 任务集。
ansible-playbook 命令后跟 YML 格式的 playbook 文件,执行事先编排好的任务集,命令使用方式如下:
ansible-playbook playbook.yml
1
具体示例如下:
执行 nginx.yml 这个 playbook 中定义的所有任务集
ansible-playbook nginx.yml
1
playbook 具有编写简单、可定制性高、灵活方便同时可固化日常所有操作的特点,运维人员应熟练掌握。