Ansible学习笔记-概述

前言:之前想学点东西总是安不下心,最近疫情防控需要,在家隔离办公,心境稍渐平静,故学习一下ansible知识同各位网友分享,共同进步。同时也想“以写促学”,督促自己,也希望同各位网友沟通探讨共同进步。

一、什么是Ansible

Ansible 是一个开源软件供应,配置管理和应用程序部署工具。它可以在许多类 Unix 系统上运行,并且可以配置类似 Unix 的系统以及 Microsoft Windows。它包含自己的声明性语言来描述系统配置。

Ansible 由 Michael DeHaan 编写并于 2015 年被 Red Hat 收购.Ansible 是无代理的,通过 SSH 或远程 PowerShell 临时连接以执行其任务。

Ansible 的设计目标包括:

  • 最小的性质。管理系统不应对环境施加额外的依赖性。
  • 是一致的。使用 Ansible,应该能够创建一致的环境。
  • 安全。Ansible 不会将代理部署到节点。受管节点上只需要 OpenSSH 和 Python。
  • 非常可靠。在仔细编写时,Ansible 剧本可以是幂等的,以防止对受管系统的意外副作用。完全可能有一个写得不好的剧本,不是幂等的。
  • 最少的学习。Playbooks 使用基于 YAML 和 Jinja 模板的简单描述性语言。

Ansible的技术架构

Ansible的架构模式

Ansible是由控制机和被管理机组成:控制机是用来安装Ansible工具软件和执行指令的服务器,被管理机是指运行业务的服务器,由控制机通过SSH进行管理。

Ansible的管理方式

Ansible是一个模型驱动管理器,支持多节点发布,远程任务执行,默认使用SSH远程连接,无需在被管理节点上安装附加软件。

Ansible集合了许多运维工具,实现了批量系统配置、批量程序部署,批量运行命令等功能,Ansible是基于模块工作的,本身没有批量部署的能力,真正干活的Ansible所运行的模块,ansible只是提供了一种框架

Ansible的任务读取流程

Ansible系统由控制主机对被管节点的操作方式可分为两类(ad-hoc)和(playbook)

  • ad-hoc支持单个模块,支持批量执行单条命令;
  • playbook通过多个task集合完成一类功能,可以理解为通过组合多条ad-hoc操作的配置文件;

Ansible功能特性

  • 应用代码自动化部署
  • 系统管理配置自动化
  • 支持持续交付自动化
  • 支持云计算、大数据平台(如aws、openstack,cloudstack、Vmware)等环境
  • 轻量级、无需在客户端安装agent、更新时只需要在控制机上进行一次更新即可
  • 批量任务执行可以写成脚本、不用分发到远程就可以执行
  • 使用python编写、维护简单
  • 支持非root用户管理操作、支持sudo

应用领域

  1. 配置管理
  2. 服务及时开通
  3. 应用部署
  4. 流程编排
  5. 监控告警
  6. 日志记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值