zoukankan      html  css  js  c++  java
  • ansible笔记(2):管理清单配置详解

    前情提要:管理清单(Iventory)配置文件/etc/ansible/hosts。通过修改该配置文件以达到管理受控主机的目的。

           在我的实验平台上有3台主机:192.168.232.181(ansible控制中心)、192.168.232.182(受控主机)、192.168.232.100(受控主机)

    1.ping命令初探

      现在想通过ansible控制中心管理182和100两台主机,只需要在管理清单中添加主机记录(IP地址)就行。

    修改配置信息后,可通过之前的命令进行验证,示例如下:

    [root@ansible-control /]# ansible 192.168.232.182 -m ping

    [root@ansible-control /]# ansible 192.168.232.100 -m ping

    以上是使用命令分别去ping管理清单中的主机IP,这样在实际生产中操作会比较麻烦,所以可以使用字段“all”来一次性ping管理清单中的所有IP地址。示例如下:

    [root@ansible-control /]# ansible all -m ping

    2.通过IP地址配置受控主机

      2.1自定义字段(分组管理主机)

      修改管理清单配置文件(/etc/ansible/hosts),示例如下(这是一个错误的示范):组名不要使用特殊字符!

    由于我在组名的命名使用了特殊字符,导致系统报错,如下:

    经过重新修改管理清单配置文件,示例如下:

    上述配置我定义了2个组(A组和B组),A组内拥有主机192.168.232.182的IP地址,B组内拥有主机192.168.232.100的IP地址,可以根据实际生产需要随意往组内添加主机IP。此时我们可以通过“组名”去批量管理组内的主机,示例如下:

    [root@ansible-control /]# ansible A -m ping

    [root@ansible-control /]# ansible B -m ping

    如果组内的主机IP地址是连续的,可以这样操作,效果和以上的一样,修改管理清单配置文件,示例如下:

    [A]
    192.168.232.[182:200]   #表示A组内有主机IP地址从192.168.232.182~192.168.232.200

    [B]
    192.168.232.100

    3.通过主机名配置受控主机

       前提是ansible控制主机可以正确解析出受控主机的主机名。通过主机名配置受控主机,修改管理清单配置文件,示例如下:

    优化管理清单配置文件,由于A组中Oneplus-后是按字母顺序排列的,所以,精简配置,示例如下:

     

    4.使用关键字children灵活管理主机

      在实际生产中,服务器环境一般存在“生产环境”和“测试环境”,所以很自然地把主机分成了两组,生产组和测试组,在生产组中又会有很多模块,例如A生产组模块、B生产组模块等,同理测试组也是如此。组别合理划分,有利于我们有针对性的操作,需要哪些组就调用哪些组,这样比较精准。

    [proA]
    192.168.232.182

    [proB]
    192.168.232.100

    [pro:children]  #组名为pro,关键字段children表示pro组中的是组。

    proA

    proB

    以上配置信息等效于,示例如下:

    [proA]
    192.168.232.182

    [proB]
    192.168.232.100

    [pro]
    192.168.232.182
    192.168.232.100

  • 相关阅读:
    PostgreSQL 9.6.2版本在centOS下的安装和配置
    postgreSQL 创建user表时引发的表名大写与双引号问题
    Go JSON嵌套解析失败
    面试杂谈:面试程序员时都应该考察些什么?<转>
    Golang bash脚本自动创建一个go工程
    iOS Debug心得 (持续更新)
    iOS 上传APP到AppStore 卡在 Authenticating with the iTunes store 提示
    iOS 应用打包 设备兼容性问题(Build Active Architecture Only)
    Go 使用自定义包(package)
    Go 连接PostgreSQL数据库
  • 原文地址:https://www.cnblogs.com/python-wen/p/11230203.html
Copyright © 2011-2022 走看看