- 配置ansible
- 查看ansible当前使用的配置文件
- ansible配置文件的优先级
- 创建自定义配置文件
- ansible配置文件参数基本设置
- ansible配置文件参数详解
- ansible基本配置
- ansible提权配置
- 查看默认配置文件的默认参数
- 生产环境最常用操作
- 练习第三章练习:ansible配置文件
- 完成练习
参考链接: https://www.cnblogs.com/lvzhenjiang/p/14386197.html
查看ansible当前使用的配置文件[student@workstation ansible]$ ansible --version|grep cfg ## 打印结果 config file = /etc/ansible/ansible.cfg
ansible并不只有一个配置文件,可以有多个配置文件.如果你没有创建其他的ansible配置文件,就会使用默认配置文件: /etc/ansible/ansible.cfg
- 首先检测ANSIBLE_CONFIG变量定义的配置文件—禁止使用,危险系数高
- 其次检查当前目录下的./ansible.cfg文件
- 再次检查当前用户home目录下的~/.ansible.cfg—推荐用法
- 最后检查默认配置文件/etc/ansible/ansible.cfg
创建自定义配置文件
# 在当前用户的home目录下创建.ansible.cfg文件 [student@workstation ~]$ pwd /home/student [student@workstation ~]$ touch .ansible.cfg # cd到其他目录,再查看ansible使用的配置文件 [student@workstation ~]$ cd / [student@workstation /]$ pwd / [student@workstation /]$ ansible --version|grep cfg config file = /home/student/.ansible.cfg
ansible配置文件参数基本设置
[defaults] # 指定主机清单文件 inventory = /etc/ansible/hosts # 表示使用omaidb用户进行ssh连接 remote_user = omaidb # 表示使用omaidb用户连接ssh时不提示输入密码 ## 设置不提示输入密码时,前提条件是该用户可以ssh免密登录 ask_pass = false # 不检查对应服务器的host_key,建议取消注销 host_key_checking = false # ansible日志路径 log_path = /var/log/ansible.log [inventory]
ansible提权配置
# 如果remote_user不是root,需要做特权操作,就必须要配置这个sector [privilege_escalation] # 是否提权,true/false become = true # 提权方式,一般是sudo become_mettod = sudo # 提权到哪个用户 become_user = root # 进行sudo操作时是否需要输入密码,设为false时需要被管理主机上`sudoers`配置sudo免密 become_ask_pass = false
如果你的节点数量比较多,建议使用ansible-playbook中的authorized_key模块进行配置
查看默认配置文件的默认参数
[kiosk@foundation0 ~]$ cat /etc/ansible/ansible.cfg|grep -Ev "^$|#" [defaults] [inventory] [privilege_escalation] [paramiko_connection] [ssh_connection] [persistent_connection] [accelerate] [selinux] [colors] [diff]
生产环境最常用操作
# 编辑配置自定义文件 vim ~/.ansible.cfg
生产环境常用配置
# 基本配置 [defaults] inventory = ./inventory # 主机清单路径 remote_user = devops # ssh远程登录用户 ask_pass = false # 远程登录不提示输入密码 host_key_checking = False # 不弹出确认指纹 # 特权配置 [privilege_escalation] become = true # 进行提权 become_mettod = sudo # 提权方式是sudo become_user = root # 提权到root用户 become_ask_pass = false # 提权时不需要输入密码
练习第三章练习:ansible配置文件
开始新章节的环境
[student@workstation ~]$ lab deploy-manage start Setting up workstation for lab exercise work: · ansible package is installed on workstation................. SUCCESS
编辑主机清单
[student@workstation deploy-manage]$ cat > inventory <[myself] > localhost > > [intranetweb] > servera.lab.example.com > > [internetweb] > serverb.lab.example.com > > [web:children] > intranetweb > internetweb > END
查看主机清单
[student@workstation deploy-manage]$ ansible myself --list-hosts
hosts (1):
localhost
[student@workstation deploy-manage]$ ansible intranetweb --list-hosts
hosts (1):
servera.lab.example.com
[student@workstation deploy-manage]$ ansible internetweb --list-hosts
hosts (1):
serverb.lab.example.com
[student@workstation deploy-manage]$ ansible web --list-hosts
hosts (2):
servera.lab.example.com
serverb.lab.example.com
配置提权
vim ansible.cfg
配置内容
[defaults] inventory = ./inventory [privilege_escalation] become=True become_method=sudo become_user=root become_ask_pass=False
完成练习
[student@workstation deploy-manage]$ lab deploy-manage finish Finishing lab exercise work: · Cleaning workstation:....................................... SUCCESS



