zoukankan      html  css  js  c++  java
  • Ansible 手册系列 一(介绍)

    一 介绍

    Ansible 是一个配置管理和应用部署工具,功能类似于目前业界的配置管理工具 Chef,Puppet,Saltstack。Ansible 是通过 Python 语言开发。Ansible 平台由 Michael DeHaan 创建,他同时也是知名软件 Cobbler 与 Func 的作者。Ansible 的第一个版本发布于 2012 年 2 月,相比较其它同类产品来说,Ansible 还是非常年轻的,但这并不影响他的蓬勃发展与大家对他的热爱。

    Ansible 默认通过 SSH 协议管理机器,所以 Ansible 不需要安装客户端程序在服务器上。您只需要将 Ansible 安装在一台服务器,在 Ansible 安装完后,您就可以去管理控制其它服务器。不需要为它配置数据库,Ansible 不会以 daemons 方式来启动或保持运行状态。

    Ansible 的目标有如下:
    • 自动化部署应用
    • 自动化管理配置
    • 自动化的持续交付
    • 自动化的(AWS)云服务管理。

    根据 Ansible 官方提供的信息,当前使用 Ansible 的用户有:evernote、rackspace、NASA、Atlassian、twitter 等。



    Ansible是怎么工作的

    从上图可以看出,运行ansible的先决条件是,安装ansible到管理节点,定义主机清单,并有一些playbooks定义。

    让我们来看看我们如何使用Ansible将我们的Ubuntu虚拟机转换为Web服务器。

    1、您在管理节点上运行Ansible Playbook,它查看您在playbook中定义的命令参数,并通知我们定位到网络组中的节点。

    2、Ansible然后读取主机清单以查找分配给Web组的节点。在这一点上,Ansible已经准备好开始工作,所以它将通过ssh远程连接到定义的机器,通常你会想要通过预共享密钥建立一些类型的ssh信任,这样你就不必在进行ssh登陆的时候输入密码。

    3、然后Ansible将开始逐步执行playbook中的任务,一次一个任务,从顶部到底部的顺序遍历它们,就像你手动登录执行任务一样。

    4、它安装软件包,更新配置文件,使用git部署我们的网站代码,最后启动我们的Web服务。当Ansible很愉快的把一切都按预期的完成,你会得到一个执行成功的状态报告。

    可以用动图说明下此次过程。

    对管理主机的要求

     目前,只要机器上安装了 Python 2.6 或 Python 2.7 (windows系统不可以做控制主机),都可以运行Ansible.
    主机的系统可以是 Red Hat, Debian, CentOS, OS X, BSD的各种版本,等等.

    对节点主机的要求

     通常我们使用 ssh 与托管节点通信,默认使用 sftp.如果 sftp 不可用,可在 ansible.cfg 配置文件中配置成 scp 的方式. 在托管节点上也需要安装 Python 2.4 或以上的版本.如果版本低于 Python 2.5 ,还需要额外安装一个模块:

    Ansible 与其它配置管理的对比

     选择了目前几款主流的与 Ansible 功能类似的配置管理软件 Puppet、Saltstack,这里所做的对比不针对各个软件的性能作比较,只是对各个软件的特性做个对比。

  • 相关阅读:
    Node.js 基础介绍
    你所不知道该如何回答的面试题(一)
    深浅拷贝
    CSRF攻击:陌生链接不要随便点
    跨站脚本攻击(XSS)
    同源策略:为什么XMLHttpRequest不能跨域请求资源?
    HTTP/2:如何提升网络速度
    HTTP/1:HTTP性能优化
    WebComponent:像搭积木一样构建Web应用
    winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)
  • 原文地址:https://www.cnblogs.com/wanstack/p/8522082.html
Copyright © 2011-2022 走看看