Ansible配置中的常用参数

ansible的基本信息:
/etc/ansible/ansible.conf      ##全局配置文件,默认很少修改
/etc/ansible/hosts       ##全局主机清单清单文件
 

####.Ansible配置文件参数详解####

ansible 清单中组名称 -m 模块 -u remote_user

#1.配置文件的分类与优先级
/etc/ansible/ansible.cfg     #基本配置文件,找不到其他配置文件此文件生效
~/.ansible.cfg                      #用户当前目录中没有ansible.cfg此文件生效
./ansible.cfg                         #优先级最高

#2.常用配置参数
#[default]            ##基本信息设定
inventory=          ##指定清单路径
remote_user=    ##在受管主机上登陆的用户名称,未指定使用当前用户
ask_pass=         ##是否提示输入SSH密码,如果公钥登陆设定为false
library=               ##库文件存放目录
local_tmp=         ##本机临时命令执行目录
remote_tmp=      ##远程主机临时py命令文件存放目录-
forks=                   ##默认并发数量
host_key_checking=   ##第一次连接受管主机时是否要输入yes建立host_key
sudo_user=          ##默认sudo用户
ask_sudo_pass=    ##每次在受控主机执行ansible命令时是否询问sudo密码
module_name=      ##默认模块,默认使用command,可以修改为shell
log_path=               ##日志文件路径

1)建立清单素材

2) 执行“  ansible westos -m p "

时候必须输入 yes 非常麻烦

解决方法:

#vim /etc/ansible/ansible.cfg

#host_key_checking=False      (去掉注释)======  不检测 key

 修改主配置文件

 重新执行仍然错误

原因: 未向我们询问密码    加-k就好

 3).执行“ ansible  westos   -m  shell   -a  ' hostname'  -k "

 4).执行“  ansible westos    -m   shell  -a  '  useradd test '   -k  "

“  ansible westos    -m   shell  -a  '  userdel   -r    test '   -k  "

 在node200上查看用户是否被建立

 删除 test 用户

 在node200上查看用户是否被删除

 5).查看文件自动出现行号

# vim ~/.vimrc

set  nu

测试:vim  /etc/ansible/ansible.cfg    会自动出现行号

6).inventory=          ##指定清单路径

建立  /mnt/westos  清单内容

指定清单路径

vim /etc/ansible/ansible.cfg

 查看所有清单信息

ansible all --list

 再次指定清单路径

 查看所有清单信息

ansible all --list

7)   remote_tmp=                        ##远程主机临时python命令文件存放目录

总结:ansible运行方式:在本机把命令脚本转换为python语言

  然后上传至受控主机  执行完毕后自动删除

修改主配置文件

 执行命令“

ansible westos -m shell -a "sleep 1000" -k

 在受控主机上:node200 上查看

出现新目录

进入tmp目录后 发现 出现 python语言

 再次执行命令“

ansible westos -m shell -a "sleep 30" -k

执行时:

 执行结束后:

实验完毕 修改回默认情况

 8)  remote_user=         ##在受管主机上登陆的用户名称,未指定使用当前用户

默认情况使用当前用户

执行    ansible  westos -m   shell  -a  "whoami"   -k

 执行命令时可指定用户

ansible  westos -m   shell  -a  "whoami"   -k    -u    westos/root

修改主配置文件 指定用户

将远程用户设置为 westos   

用root身份执行      ansible westos -m shell -a "whoami" -k

远程主机仍然是westos

 9)  ask_pass=          ##是否提示输入SSH密码,如果公钥登陆设定为false

默认情况下  不加  -k  会出现 错误

 修该主配置文件

ask_pass=True       去掉注释

不加  -k    也自动提示  输入密码

 

 注释掉=默认情况

#ask_pass=True

不加  -k  不会自动提示输入密码  会报错

10)   sudo_user=                  ##默认sudo用户

[privilege_escalation]                                               ##身份信息设定
become=                                                                    ##连接后是否自动切换用户
become_method=                                                       ##设定切换用户的方式,通常用sudo
become_user=                                                              ##在受管主机中切换到的用户,通常为root
become_ask_pass                         ##是否需要为become_method提示输入密码,默认为false

 

 如果 remote_user=westos是一个普通用户  那么很多命令无法执行比如 建立用户  删除用户

 如何解决这个问题呢  只需要在受控主机切换到root用户就好

1. 在受控主机下放westos权力

#visudo

 2.在ansible主机修改主配置文件

# vim /etc/ansible/ansible.cfg

 3.再次执行 成功!

ansible westos -m shell -a "useradd test" -k

4.在受控主机测试  

#id test 

test用户建立成功

5.执行

ansible westos -m shell -a "userdel  -r     test" -k

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值