ansible主机清单和命令
- 主机清单
- 配置主机清单文件
- 配置主机清单方式
- 常用变量
- ansible命令
- ansible-doc命令
- ansible命令格式
- ansible配置公私钥
- ansible 命令集
主机清单
配置主机清单文件
/etc/ansible/hosts //配置主机清单文件
配置主机清单方式
ip地址 ansible_ssh_user='用户名' ansible_ssh_pass='密码' ansible_ssh_port='端口'ip地址[1:3] ansible_ssh_user='用户名' ansible_ssh_pass='密码' ansible_ssh_port='端口'
[组名]
ip地址
ip地址
[组名:vars] //设置变量关键字
ansible_ssh_user='root'
ansible_ssh_pass='0'
ansible_ssh_port='22'
[test:children] //子分组关键字
test1 //组名
test2 //组名
[test1]
192.168.0.107
[test2]
192.168.0.109
常用变量
ansible_ssh_user='' //ssh登录用户
ansible_ssh_pass='' //ssh登录密码
ansible_ssh_port='' //ssh登录端口
ansible_ssh_host='' //ssh登录ip地址
ansible_sudo='' //定义hosts登录sudo用户
ansible命令
ansible-doc命令
ansible-doc 命令常用于获取模块信息及其使用帮助
ansible-doc -l //列出所有已安装的模块
ansible-doc -s 需要查询的模块 //列出需要查询的模块描述信息和操作动作
ansible-doc -l |grep 需要查询的模块 //列出查询模块的安装信息
ansible命令格式
ansible <host-pattern> [-f forks] [-m module_name] [-a args]
ansible -h 查看帮助-a:模块的参数
-o:简洁化显示
-f:并行任务数,默认为5
-i:指定主机清单的路径
-m:执行模块的名字
-s:用 sudo 命令
-U:指定 sudo 到哪个用户,默认为 root 用户
-T:指定 ssh 默认超时时间,默认为10s,也可在配置文件中修改
-u:远程用户,默认为 root 用户
-v:查看详细信息
ansible配置公私钥
ansible 是基于 ssh 协议实现的,所以其配置公私钥的方式与 ssh 协议的方式相同
ssh-keygen //生成私钥ssh-copy-id root@ip //向其他主机分发私钥ansible登录其他主机就不需要密码
注意,如果出现-bash: ssh-copy-id: command not found报错yum -y install openssh-clients //安装工具包
ansible 命令集
常用的是/usr/bin/ansible和/usr/bin/ansible-playbook。
/usr/bin/ansible //临时命令执行工具,常用于临时命令的执行/usr/bin/ansible-playbook //定制自动化的任务集编排工具 /usr/bin/ansible-doc //模块功能查看工具/usr/bin/ansible-galaxy //下载/上传优秀代码或Roles模块的官网平台/usr/bin/ansible-pull //远程执行命令的工具,拉取配置而非推送配置/usr/bin/ansible-vault //文件加密工具/usr/bin/ansible-console //基于Linux Console界面可与用户交互的命令执行工具