Ansible inventory文件配置,常用命令

本文介绍了Ansible的inventory文件配置,包括如何定义主机、组、主机变量和组变量,以及如何使用yaml文件管理变量。同时,文章还概述了Ansible命令的使用,如指定远程用户、sudo权限及相关配置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

inventory文件配置

inventory是Ansible管理主机信息的配置文件,相当于系统HOSTS文件的功能,默认存放在/etc/ansible/hosts

  • 定义主机和组
  1. inventory可以直接为IP
    x.x.x.x
  2. d端口号不是默认的22端口时,可以明确表示
    serverX:prot
    serverX ansible_port=prot ansible_host=x.x.x.x
  3. 中括号可以表示一个组,也可以表示一个范围
    [server]
    www[1…x].example.com
    db-[a:f].example.com
  4. 定义主机变量
    在playbook中使用时对主机进行个性化定制
    [web]
    web1 http_port=port maxRequestPerChild=1024
  5. [web:vars]
    ntp_server = time1.aliyun.com
    web组中的所有主机ntp_server的值为time1.aliyun.com
  6. 定义组嵌套及组变量
    [apache]
    serverX
    [nginx]
    serverXX
    serverXXX
    [web:child]
    apache
    nginx
    [web:vars]
    time1.aliyun.com
  • 组与组之间可以互相调用,并且可以向组中的主机指定变量,不过这些只是在ansible-playbook中使用
  • inventory中使用yaml文件
  1. 在inventory主文件中保存的所有变量并不是最佳方式,还可以保存在独立的文件中
  • /etc/ansbile/group_vars/raleigh
  • /etc/ansbile/group_vars/webservers
  • /etc/ansbile/group_vars/foosball
  1. 当变量太多时,分文件定义变量更方便管理和组织
  • /etc/ansbile/group_vars/raleigh/db_settings
  • /etc/ansbile/group_vars/raleigh/cluster_settings
  1. 变量检索位置
  • inventory配置文件(默认/etc/ansible/hosts)
  • playbook中定义的区域
  • roles中vars目录下的文件
  • roles同级别目录group_vars和hosts_vars目录下的文件
命令格式

ansible [options]
Options:

  1. -u REMOTE_USER, --user=REMOTE_USER,以REMOTE_USER 以REMOTE_USER用户连接在这里插入图片描述

  2. -b --become sudo至root执行相关命令,例如:如果需要对远程主机做一些root级别的修改时,如果不加该参数是不能够操作的
    如果不想在每次执行时加-b,可以在ansible.cfg配置文件中做配置

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

在这里插入图片描述

当不加-b时候,普通用户是无法对/mnt目录操作的
在这里插入图片描述
加上-b参数,可以正常访问,未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值