美文网首页Linux_Ansible
【Ansible入门- Inventory管理】

【Ansible入门- Inventory管理】

作者: 西布鲁克 | 来源:发表于2021-07-07 21:07 被阅读0次

Inventory管理

Ansible读取远程服务器列表配置共有三种方式

  • 默认读取/etc/ansible/hosts文件
  • 命令行参数-i指定hosts文件
  • ansible.cfg配置文件中通过iventory选项指定hosts文件(实际工作最常用)

hosts文件内容灵活定义

  • 可以按照特定的类型,将某些特定的服务器分到一个配置节点(组)中,同时也可以不分任何组(虽然没什么好处)
  • 还可以定义组[<组名>:children]来讲已分组的主机合并到一个大的组里
  • 甚至可以使用web[1:3]来匹配web1、web2、web3

hosts文件内容灵活匹配

在执行ansible命令,包括执行playbook时,对于需要匹配的主机列表配置可以使用通配符、正则表达式等更加灵活的方式。

动态inventory获取

除了静态读取hosts配置获取主机列表,还可以通过读取CMDB或者云计算服务平台的方式动态获取主机列表(前提是服务器都上了云),这样就不用每次服务器有变动就来手工修改hosts文件,减少维护成本。

iventory行为参数

类似hosts文件中配置的ansible_user、ansible_port这样的参数被称为行为参数用来控制远程访问服务器时使用的参数或行为

定义服务器变量

行为参数时ansible预设的参数变量,有特定的含义。用户也可以在hosts文件中定义自己的变量。比如所有的mysql数据库服务器的访问端口可以定义为mysql_port=3306,这个mysql_port就是用户自定义变量,为了减少配置的维护成本,ansible支持讲自定义变量保存到/etc/ansible/host_vars文件中以"var:value"的格式定义,然后在Playbook中通过{{var}}来访问。

相关文章

网友评论

    本文标题:【Ansible入门- Inventory管理】

    本文链接:https://www.haomeiwen.com/subject/vdsaultx.html