ansible初识(一)

一:我理解的ansible
初次了解ansible,觉得这个工具真的太方便了,为啥这么说了,因为在我现有的学习阶段来看,一次只能玩转一个虚拟机,但是试想一下,若是有多台主机需要同时进行同一种任务部署,比如说装个软件包啥的,一台一台的配置还不得累死,还好,有大神研究出了ansible这样一个自动化运维工具,这个工具就解决了这样一个问题,他可以实现批量系统配置、批量程序部署、批量运行命令等功能,只需要在主控端敲命令,被控端主机就乖乖执行。
二:关于ansible
ansible是基于python开发,模块化工作,因此它本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的.

  • ansible被定义为配置管理工具,配置管理工具通常具有以下功能:
    确保所依赖的软件包已经被安装
    配置文件包含正确的内容和正确的权限
    相关服务被正确运行
    三:ansible特性
  • 模块化:调用特定的模块,完成特定任务
  • Paramiko(python 对 ssh 的实现),PyYAML,Jinja2(模板语言)三个关键模块
  • 支持自定义模块,可使用任何编程语言写模块
  • 基于 Python 语言实现
  • 部署简单,基于 python 和 SSH(默认已安装),agentless,无需代理不依赖 PKI(无需 ssl),去中心化部署
  • 安全,基于 OpenSSH
  • 幂等性:一个任务执行 1 遍和执行 n 遍效果一样,不因重复执行带来意外情况
  • 支持 playbook 编排任务,YAML 格式,编排任务,支持丰富的数据结构
  • 较强大的多层解决方案 role
    四:利用ansible实现管理的方式
  • Ad-Hoc 即ansible命令单条命令,主要用于临时性命令
  • ansible-playbook,主要用于长期使用的,提前规划好的,大型项目的场景
    五:ansible的主要组成部分
    在这里插入图片描述
  • 核心:Ansible:
    组合INVENTORY:ansible (控制和管理的主机清单),API(供第三方程序调用的应用程序编程接口),MODULES:(ansible 执行命令的功能模块),PLUGINS:(模块功能的补充,如连接类的插件、循环插件、过滤插件等)的核心执行工具
  • Host Inventory: 记录由Ansible管理的主机信息,包括端口、密码、ip等 /etc/ansible/hosts
  • Core modules:ansible执行命令的功能模块,多数为内置核心模块
  • Custom Modules:当内置核心模块功能不足时,可以自定义模块
  • playbooks:任务剧本(任务集),ansible任务集的配置文件,由ansible顺序依次执行,YAML格式文件,多个任务定义在一个文件中,使用时可以统一调用,“剧本”用来定义那些主机需要调用那些模块来完成的功能.类似于脚本文件
  • Connection Plugins:连接插件,Ansible和Host通信使用

写在最后:
最近的博文将会围绕着ansible来写,因为是自己在自学,所以部分总结如果有什么不妥之处,希望看到的能提出来哦,谢谢~嘿嘿^ _^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^

^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^ ^ _ ^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值