当前位置: 首页 > news >正文

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

 

转载于:https://www.cnblogs.com/python-wen/p/11230203.html

相关文章:

  • VS2015 Web应用程序发布
  • 《Java核心技术卷一》之 泛型
  • emacs 窗口控制
  • 如何在同一任务列表中显示我的任务及我所属组的任务
  • POJ2017-Speed Limit
  • springboot不占用端口启动
  • C语言标准中的逻辑位移和算术位移
  • 本体感受和演讲能力
  • 设计模式:动态代理
  • eDocEngine_3.0.4.273的手动安装
  • TensorFlow(2)- 建立一个简单的神经网络
  • 智能营销笔记本有用吗?
  • 什么是算法
  • Research Articles For Language Learning
  • 聪明的程序员用Delphi,真正的程序员用C++,偷懒的程序员用PowerShell
  • 【Leetcode】101. 对称二叉树
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • C# 免费离线人脸识别 2.0 Demo
  • CentOS7简单部署NFS
  • conda常用的命令
  • Docker: 容器互访的三种方式
  • Java基本数据类型之Number
  • Objective-C 中关联引用的概念
  • python_bomb----数据类型总结
  • python大佬养成计划----difflib模块
  • ViewService——一种保证客户端与服务端同步的方法
  • 翻译--Thinking in React
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端之React实战:创建跨平台的项目架构
  • 区块链技术特点之去中心化特性
  • 如何编写一个可升级的智能合约
  • 实习面试笔记
  • 数组的操作
  • 我的业余项目总结
  • 移动端 h5开发相关内容总结(三)
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #pragma 指令
  • #图像处理
  • $.ajax()方法详解
  • $NOIp2018$劝退记
  • (27)4.8 习题课
  • (C++)八皇后问题
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Note)C++中的继承方式
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (算法设计与分析)第一章算法概述-习题
  • (学习日记)2024.01.09
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)http-server应用
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...