概述:

  ansible 作为一个配置管理工具、首先我们要“告诉”它管理的是那几台机器啊;而这个信息就在要ansible 的配置文件中体现了。默认情况下ansible的配置文件保存在

/etc/ansible/目录下、主机相关的信息就在/etc/ansible/hosts文件中。

/etc/ansible/hosts文件的说明:

  深入的想一下、ansible这个配置文件要解决什么问题呢?要管理一台机器首先总要能连接上去吧、所以首先要解决的是通过怎么样的方式连接上目标机器;

  1、目标机器的ip 是多少,这个由ansilbe_ssh_host参数确定。

  2、目标机器的端口是多少,这个上由ansible_ssh_port参数确定。

  3、用于连接目标机器的用户名是多少,这个由ansible_ssh_user参数确定。(就个用户是目标机器上的一个用户,ansible 内部也只是用ssh去连接远程的)

  4、用于连接目标机器的密码是多少,这个上由ansible_ssh_pass参数确定。

  5、最后为每一台目标机器设置一个标志符、通常写在行首。

  通常hosts文件会以如下形式来描述一台目标机器

mysql_db_001    ansible_connection=ssh  ansible_ssh_host=192.168.80.137 ansible_ssh_port=     ansible_ssh_user=test   ansible_ssh_pass=

  只有一台机器这样定义没事,但是如果机器多了;就会引出一个新的问题”物以类聚人以群分“啊!如果可以分组会有什么好处呢?想想啊、如果有一天你想为所有的

(100台)mysql 数据库做一个备份;那么你有大概有两种方式可以完成这个操作,第一种:你传递给ansible 100个参数每一个参数代表一个数据库,要么你就执行100次重复的操作。第二种方式是你事先把主机分组,在这个例子中你可以有这100个数据库所在机器合并到一个组中,在下命令的时候只要传递一个组名就可以了。这个就好比小学的时候老师说第二组的同学留下来搞卫生,那么他就不用一个一个去点名了。光说不练,那个叫什么来的?明显我不是这种人啊!!!

[mysql_db]
mysql_db_001 ansible_connection=ssh ansible_ssh_host=192.168.80.137 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=
mysql_db_002 ansible_connection=ssh ansible_ssh_host=192.168.80.138 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=
mysql_db_003 ansible_connection=ssh ansible_ssh_host=192.168.80.139 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=

上面的[mysql_db]定义的就是组名了,简单吧。然而生活不总是这么单纯的,比如我就应该被分到暖男组,帅哥组,单身狗组。同样一台机器也有可能有多种职责,比如它

上面有mysql ,redis,httpd寻么它也可能被分配到多个组中去。

[mysql_db]
mysql_db_001 ansible_connection=ssh ansible_ssh_host=192.168.80.137 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=
mysql_db_002 ansible_connection=ssh ansible_ssh_host=192.168.80.138 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=
mysql_db_003 ansible_connection=ssh ansible_ssh_host=192.168.80.139 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=
[redis_db]
redis_db_001 ansible_connection=ssh ansible_ssh_host=192.168.80.139 ansible_ssh_port= ansible_ssh_user=test ansible_ssh_pass=

  

ansilbe 入门001、ansible的介绍的更多相关文章

  1. VB6 GDI+ 入门教程[1] GDI+介绍

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[1] GDI+介绍 2009 年 6 月 18 日 17 ...

  2. 【个人笔记】002-PHP基础-01-PHP快速入门-02-PHP语言相关介绍输

    002-PHP基础-01-PHP快速入门 02-PHP语言相关介绍 1.PHP是什么 Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言 Personal Home P ...

  3. Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍

    系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...

  4. JBPM4入门——1.jbpm简要介绍

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  5. Ansible Playbooks 介绍 和 使用 二

    目录 handlers playbook 案例 2 handlers vars 变量 setup facts 变量使用 案例 inventory 中定义变量 案例 条件测试 when 语句 案例 迭代 ...

  6. Ansible简单介绍(一)

    一 :ansible简单介绍 此名取自 Ansible 作者最喜爱的<安德的游戏> 小说,而这部小说更被后人改编成电影 -<战争游戏>. 官网地址:https://www.an ...

  7. 编程入门-Java开发工具介绍及Eclipse安装

    编程入门-Java开发工具介绍及Eclipse安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java开发工具介绍 "源代码"一般是文字,所以可以使用记 ...

  8. 第二十七章 ansible变量介绍

    一.ansible变量介绍 1.概念 变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使用,那么如果讲 ...

  9. 001.Ansible简介与基本安装

    一 自动化运维 1.1 运维的自动化发展历程 IAAS:infratructure as a Service PAAS:platform as a Service 平台及服务 SAAS:softwar ...

随机推荐

  1. sql server高效分页控件及c#调用实例

    第一.首先在sqlserver中创建一个存储过程 USE [BZY] GO /****** 对象: StoredProcedure [dbo].[up_ProcCustomPage2005_New] ...

  2. hdu 1535 Invitation Cards

    http://acm.hdu.edu.cn/showproblem.php?pid=1535 这道题两遍spfa,第一遍sfpa之后,重新建图,所有的边逆向建边,再一次spfa就可以了. #inclu ...

  3. C#开发者准备的通用性代码审查清单

    这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助 ...

  4. 在CDHtmlDialog中处理WindowClosing

    要截获window.close(),就得截获CDHtmlDialog的WindowClosing.以下是示例代码: // header DECLARE_EVENTSINK_MAP() void Win ...

  5. 第17讲- UI常用组件之ImageView图片浏览

    第17讲 UI常用组件之ImageView图片浏览 二.图片浏览ImageView ImageView就是一个用来显示图片的视图: ImageView常见属性 常见属性 对应方法 说明 android ...

  6. base64转码

    Base64是一种编码方法,可以将任意字符转成可打印字符.使用这种编码方法,主要不是为了加密,而是为了不出现特殊字符,简化程序的处理. JavaScript原生提供两个Base64相关方法. btoa ...

  7. Linux下redis的安装及用法

    1.下载源代码包redis-2.8.21.tar.gz,并将其上传到指定文件夹/urs/src,然后对其进行解压: [root@Slave1pc src]# tar -xvf redis-2.8.21 ...

  8. storm源代码分析---Transactional spouts

    Transactionalspouts Trident是以小批量(batch)的形式在处理tuple.而且每一批都会分配一个唯一的transaction id.不同spout的特性不同,一个trans ...

  9. chroot 与 jail

    所谓“监牢”就是指通过chroot机制来更改某个进程所能看到的根文件夹,即将某进程限制在指定文件夹中,保证该进程仅仅能对该文件夹及其子文件夹的文件有所动作,从而保证整个server的安全. 创建chr ...

  10. java多态的理解----部分非原创

    所谓多态,其实就是对于同一件事情,不同的对象要采取不同的行为,或者同一个对象在不同的情况下需要采取不同的行为方式. 不同的对象要采取不同的行为: 这有两种实现方式:接口实现和子类重新父类方法.这两种实 ...