Ansible 学习记录 (三)命令详解
ansible 命令详解:
Usage: ansible <host-pattern> [options]
example:
ansible 192.168.134.202 -m command -a "ls /tmp/zhangfengxue.yml" -k
##远程执行ls命令并询问密码;
Options:
-a MODULE_ARGS #模块执行参数
--ask-vault-pass #询问ansible的加密密码
--extra-vars=EXTRA_VARS #命令行中使用扩展变量
--forks=FORKS #配置并发数 (default=5)
--inventory-file=INVENTORY #命令行转载主机列表文件 (default=/etc/ansible/hosts)
--list-hosts #输出匹配的主机列表,不执行任何动作
-m MODULE_NAME #指定执行的ansible命令模块 (default=command)
-M MODULE_PATH #指定模块路径 (default=None)
--syntax-check #进行语法检查,不执行
--tree=TREE #输出日志到这个目录中
--vault-password-file=VAULT_PASSWORD_FILE #指定加密文件
-v, -vvv , -vvvv #输出信息,输出详细信息,输出debug信息
--version #显示程序版本号,并退出
Connection Options:
-k, --ask-pass #询问连接密码
-u REMOTE_USER, --user=REMOTE_USER #指定连接用户 connect as this user (default=None)
Privilege Escalation Options:
-s, --sudo #使用sudo在远程主机执行
-U SUDO_USER, --sudo-user=SUDO_USER #在远程主机sudo成什么用户身份执行命令; (default=root) (deprecated, usebecome)
-S, --su # 使用su 方式在远程主机切换身份
-R SU_USER, --su-user=SU_USER #使用su切换成那个用户身份执行;
-b, --become #变成那个用户身份,不提示密码
--become-method=BECOME_METHOD #以那种方式进行切换;(default=sudo)
valid choices: [ sudo | su | pbrun | pfexec | doas |dzdo | ksu ]
--become-user=BECOME_USER #变成什么用户 (default=root)
--ask-sudo-pass #询问 sudo password (deprecated, use become)
--ask-su-pass #询问 su password (deprecated, use become)
-K, --ask-become-pass #询问 privilege escalation password
Ansible 命令执行过程
1、加载自己的配置文件,默认:
2、加载自己对应的模块文件
3、通过ansible将模块或命令生产对应的临时.py文件,并将该文件传输至远程服务器对应执行用户的家目录的.ansible/tmp/***/***.py
4、给py文件+x 执行权限
5、执行完成后并返回结果到ansible-server
6、客户但删除临时py文件,sleep e 退出
Ansible 核心组件
ansible playbook:任务剧本,定义、编排ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的YML文件
inventory:ansible管理的主机清单,/etc/ansible/hosts
modules:ansible执行功能的模块,多为核心模块,也可自定义
plugins:模块功能的补充
api:供第三方调用的应用程序接口
ansible:与其他命令组合使用,定位是核心执行工具
ansible-doc 命令:
选项:
-h --help 显示此帮助信息并退出
-l --list 列出可用的模块
-s,--snippet 显示指定模块的playbook片段
-v,--verbose 详细模式(-vvv为更多,-vvvv启用debug)
-version 显示程序的版本号并退出
操作样例:
# ansible-doc file
# ansible-doc -s file
ansible-galaxy 命令
Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
Options:
-h, --help show this help message and exit
-v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging)
--version show program's version number and exit
操作样例:
ansible-galaxy install username.rolename
# ansible-console
Welcome to the ansible console.
Type help or ? to list commands.
root@all (7)[f:5]$
注解:临时任务发布的控制台,可以指定并发数;