ansible 01

homeros    服务器    999+ 次    2017-12-12 17:31:52


ansible 是一个轻量级的分布式模块化的自动化运维工具

 

ansible特性

  学习曲线不陡峭 ------>简单

  不需要代理,不需要客户端,没有服务器端-没有服务器端----->轻量

  不基于pki工作基于模块工作 因为他不是基于ssl

  支持YAML定义剧本  -----> 可以定义自己的任务,更加多样性

  默认基于ssh  ----->使用密钥认证,简单,方便

  很强的多层解决方案

核心:ansible

核心模块:Core Modules,这些都是ansible自带的模块

扩展模块:Custom Modules,如果核心模块不足以完成某种功能,可以添加扩展模块

插件:Plugins:完成模块功能的补充

剧本:Playbooks,把需要完成的多个任务定义在剧本中

连接插件:Connectior Plugins;ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh链接到个主机的,但是他还支持其他的连接方法,所以需要有连接插件

主机群:Host Inventory;ansible在管理多台主机时,只想对其中的一部分执行某些操作

如下图所示:

 

 

举个简单的例子     ansible[刘康1]  -i test[刘康2]   -m  setup[刘康3] 

上面这个命令基本涵盖了上面的的组件类型,

注意:做这个的前提是要做ssh互信,原因 看上面

安装:

要是6.5的系统的话,还得进行安装额外的yum源,这个可以到ansible的官网上去看,他会给你指条明路,在这里就不在演示

如果安装好之后呢,就可以使用yum来安装,而且官网也推荐。

yum  -y install  ansible   (这个一般就吧所需的东西安装好了,也可以自己来安一遍,问题

可能就出现在jinjia2上,这个是python的一个模块。yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto) 
这些是主要的配置文件,了解一下

 

 

其中的ansible是在命令行中执行简单的命令。

ansible-playbook :是在执行 剧本(plays)的时候用到的,也是我们以后会经常用到的命令

ansible-doc:  因为ansible是模块化的工具,而这个命令可以列出ansible所有的工具列表,

absible-pull: 因为ansible他可以无服务端,无客户端,也就是说我可以在一台机器上去执行

              playbook ,也可以去从其他地方拉取配置。

ansible-galaxy: ansible-galaxy 指令用于方便的从https://galaxy.ansible.com/ 站点下载第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip或easy_install 。

ansible-vault: ansible-vault主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件,属高级用法。主要对于playbooks里比如涉及到配置密码或其他变量时,可以通过该指令加密,这样我们通过cat看到的会是一个密码串类的文件,编辑的时候需要输入事先设定的密码才能打开。这种playbook文件在执行时,需要加上 –ask-vault-pass参数,同样需要输入密码后才能正常执行。具体该部分可以参查官方博客

注:上面七个指令,用的最多的只有两个ansible 和ansible-playbook ,这两个是我们要掌握,其他五个属于拓展或高级部分

看看ansible的工作原理:底下的东西和上面的图差不多,只要记住ansible关键的即可,下图不在解释


上一篇: jQuery源码阅读-jQuery是如何定义的

下一篇: ansible 02

最新评论

暂无评论

热门文章

最新评论

网站数据

网站文章数:481

今日UV/PV/IP:0/0/0

昨日UV/PV/IP:26/29 /25

TOP