zoukankan      html  css  js  c++  java
  • Ansible基本介绍

    前言

    2020年2月23号晚上,闲的蛋疼,想着复习整理一下ansible吧。。。

     

    工具介绍

    Ansible是一款自动化运维工具,旨在降低人为失误,提高业务的自动化及工作效率。常用作软件自动化部署、自动化配置、自动化管理、系统化任务、持续继承、平滑升级等等。创始人是Michael DeHaan。

     

    资料查阅

    官方地址:https://www.ansible.com/

    官方文档:https://docs.ansible.com/

    中文文档:http://www.ansible.com.cn/

    代码仓库:https://github.com/ansible/ansible

    版本蓝图:https://docs.ansible.com/ansible/latest/roadmap/index.html(不过2.0以前的版本都被淘汰了,最原始的版本是0.0.1版本,发布与2012年3月9日)

     

    同类型工具

    Chef、Fabric、Puppet、SaltStack

     

    Ansible优点

    • Ansible是采用python进行开发的
    • Ansible包含丰富的内置模块,并且在持续不断的更新
    • Ansible采用去中心化的思想,即不需要客户端

     

    Ansible的工作原理

    Ansible工具通过调用各种内置的应用模块将指令推送指被管理端进行执行,并在执行完毕之后自动删除产生的临时文件。Ansible根据被管理端不同的系统有不同的依赖,Linux下依赖于ssh协议,Windows下依赖于PowerShell。Ansible需要将自身的秘钥上传至被管理端的秘钥验证文件中,或者通过被管理端的用户密码进行通信;官方推荐使用前面的方式进行操作,首先密码验证并不安全,其次秘钥验证更方便(后面这点仅个人观点哈,如有不同意见直接过滤掉吧)。

     

    使用方式

    • CMDB:通过数据库与Ansible结合,通过CMDB直接下发指令调用Ansible工具集完成使用者想要达成的目的(这方式我没用过,还有待研究)
    • API:Ansible除了丰富的内置模块之外,同时官网也提供大量的API,可进行二次开发。(这个我也不会。。。)
    • Ad-hoc:命令集,类似于临时命令。其实官网也把这种方式称之为临时命令,类似于linux下面的伪终端运行命令。
    • Playbook:预先定义好的指令集,类似于linux下面的shell文件。文件内容以yaml、yml、ini格式定义。

     

    工具集

    工具集即Ansible工作流程中所涉及到的工具。

    • Ad-hoc:上面说过了,临时指令。
    • INVENTORY:主机与组的定义文件,定义内容有:主机名、IP地址、主机组、变量。
    • API:应用程序的编程接口
    • Modules:内置模块
    • Plugins:内置或自定义插件

    PS:Playbook只是文件,里面的内容还是调用的上面的工具,来达到自身的目的,它并不是一个工具。

     

    作用对象

    • Linux操作主机
    • Windows操作主机(Windows主机只能被作用,不能用于主控端管理)
    • 私有云,如:openstack、vmware
    • 公有云,如:azure
    • 容器技术,如:docker
    • 编排技术,如:k8s

    上面只是列出了一部分,我粗粗的看了一下最新的ansible-doc(就是ansible内置的模块),有3387个,刚开始接触这个技术的时候还只有500个左右的样子,2年多涨成这个样子,真是夸张呀

     

    Ansible通信发展史

    • Paremiko:最初实现Ansible通信的python库,发展速度远不及OpenSSH。只能在RHEL5/6版本中使用
    • OpenSSH:Ansible1.3版本开始使用的默认通信方式。采用ControlPersist功能,速度比Paremiko更快更可靠
    • 加速模式:对通信速度有极大的提升,比前两者都是呈几何式增长,好像对Ad-hoc不是很友好。

     

    Ansible应用场景

    • 应用部署
    • 配置管理
    • 任务流编排
  • 相关阅读:
    数组
    2017.3.20for
    PHP基础2
    php基础1
    触发器
    SQL储存过程
    范式
    时间戳
    主键和外键
    15 大图轮播
  • 原文地址:https://www.cnblogs.com/guge-94/p/12346597.html
Copyright © 2011-2022 走看看