目录:
一、ansible相关链接
二、ansible安装
三、ansible目录结构
四、ansible配置文件
五、ansible主机清单
六、ansible变量(非常重要)
七、ansible执行命令
八、ansible privilege_escalation(权限提升)
一、ansible相关链接
二、ansible安装
2. 源码安装
三、ansible目录结构
配置文件: /etc/ansible/
执行文件: /usr/bin/
lib库依赖: /usr/lib/pythonx/site-packages/ansible/
四、ansible配置文件
配置文件路径 /etc/ansible/ansible.cfg
[ssh_connection] pipelining = True 管道加速功能,可提升文件传输效率
[defaults] log_path = /var/log/ansible.log 启用ansible日志
五、ansible主机清单
主机清单文件路径 /etc/ansible/hosts
语法格式:
# 定义单个server
192.168.20.100
controller.openstack.com
controller.openstack.com:222 #默认端口22
# 定义group
[openstack]
controller.openstack.com
compute[1:10].openstack.com
# 定义主机变量
controller.openstack.com http_port=8080
# 定义group变量
[openstack:vars]
ntp_server=ntp.openstack.com
六、ansible变量(非常重要)
变量通常从如下4个位置检索:
1. Inventory配置文件hosts
2. Playbook中定义的vars
3. Roles中的vars目录下的文件
4. Roles同级目录group_vars和hosts_vars目录下的文件
七、ansible执行命令
注意:在执行ansible命令以前,需要将所有被管理主机配置好公私钥认证
注意:ansible命令支持正则
语法格式: ansible <host-pattern> [options]
示例1: ping模块来验证连通性
ansible server-group -m ping
示例2:copy模块文件复制
ansible server-group -m copy -a "src=/tmp/test.txt dest=/opt/"
八、ansible privilege_escalation(权限提升)
当ansible使用的账户没有root权限时,当执行某些操作时需要root权限,因此需要配置privilege_escalation
1. 在ansible server上修改ansible.cfg
[privilege_escalation]
become=True # 启用权限提升功能
become_method=sudo # 权限提升的方式
become_user=root # 权限提升的用户
become_ask_pass=False # 权限提升是否询问密码
2. 在目标机器上修改sudoers,添加普通账户sudo无需密码
user001 ALL=(ALL) NOPASSWD: ALL
本文档详细介绍Ansible自动化运维工具的基础知识,包括Ansible的安装、配置文件解析、主机清单设置、变量应用、命令执行及权限提升等核心内容。
550

被折叠的 条评论
为什么被折叠?



