zoukankan      html  css  js  c++  java
  • Ansible: hosts文件拆分为inventory和定义inventory全局变量

    前言

    随着管理机器的增多,我们在使用Ansible的时候时常会遇到hosts文件过于冗长的问题,极其不便于管理,而将hosts文件拆分为inventory就可解决该问题;另外,hosts中的每个主机条目需要指定用户名和私钥或密码,十分繁琐,而hosts文件支持全局变量,可将该公用信息进行全局指定或分组指定,本文就这两点展开,希望对遇到同样问题的小伙伴有所帮助。

    配置文件

    首先需要修改/etc/ansible/ansible.cfg配置文件

    [defaults]
    #此处为目录或hosts文件,不可更改
    inventory = /etc/ansible/inventory
    #inventory = /etc/ansible/host

    创建inventory目录

    创建/etc/ansible/inventory目录
    在该目录下创建拆分后的hosts文件

    拆分hosts文件

    建议先按照项目创建目录,在项目目录下创建环境的hosts文件,例如下图

    定义inventory全局变量

    cat >/etc/ansible/inventory/all-vars <<"EOF"
    [all:vars]
    ansible_connection=ssh
    ansible_ssh_user=root
    ansible_ssh_private_key_file=/root/.ssh/id_rsa

    清除原有每个inventory的变量

    sed -ig 's/ansible_ssh_user=root ansible_ssh_private_key_file=/root/.ssh/id_rsa//g' ./*

    此处贴上/etc/ansible/inventory/Aproject/online的hosts文件内容

     

  • 相关阅读:
    计算机基础理论 基本功
    mac 下使用gcc 编译c函数
    技术书籍 读书方法有感
    IntentFilter的相关问题解析
    IOS 学习笔记 2015-04-03 OC-API-文件读写
    (转)iOS中3种正则表达式的使用与比较
    (转)IOS学习笔记-2015-03-29 int、long、long long取值范围
    mysql 游标
    (转) 生活感悟
    IOS 学习笔记 2015-03-27 我理解的OC-代理模式
  • 原文地址:https://www.cnblogs.com/William-Guozi/p/ansible_hosts.html
Copyright © 2011-2022 走看看