博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansilbe 入门001、ansible的介绍
阅读量:6068 次
发布时间:2019-06-20

本文共 2110 字,大约阅读时间需要 7 分钟。

概述:

  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=22     ansible_ssh_user=test   ansible_ssh_pass=131417

 

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

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

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

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

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

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

 

 

  

 

转载地址:http://loygx.baihongyu.com/

你可能感兴趣的文章
《ELK Stack权威指南(第2版)》一3.6 Java日志
查看>>
反射操作公共成员变量
查看>>
linux在文件中查找指定字符串,然后根据查找结果来做进一步的处理
查看>>
小孩的linux
查看>>
CSS3 transforms 3D翻开
查看>>
java基础---->正则表达式
查看>>
2.2013/06/13_log(n)+1
查看>>
关于加载iframe时进度条不消失的问题
查看>>
poj 3984迷宫问题【广搜】
查看>>
oracle ORA-01840:输入值对于日期格式不够长
查看>>
python基础知识~logger模块
查看>>
SIP入门(二):建立SIPserver
查看>>
Servlet3.0的异步
查看>>
WebService连接postgresql( 失败尝试)
查看>>
从头认识java-13.11 对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题?...
查看>>
Python-MacOSX下SIP引起的pip权限问题解决方案(非取消SIP机制)
查看>>
从MFQ方法到需求分析
查看>>
android.view.WindowManager$BadTokenException: Unable to add window
查看>>
HDU5012:Dice(bfs模板)
查看>>
iphone openssh
查看>>