前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible有哪些特性?CICD必备?

Ansible有哪些特性?CICD必备?

作者头像
DevOps云学堂
发布2019-10-18 18:58:03
1.2K0
发布2019-10-18 18:58:03
举报
文章被收录于专栏:DevOps持续集成

1.常用的自动化运维工具

Puppet

—基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱

SaltStack

—基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YMAL,使得配置脚本更简单

Ansible

—基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2 模板语言,更强的远程命令执行操作

2.Ansible简介

Ansible 是一个简单的自动化运维管理工具,可以用来自动化部署应用、配置、编排 task(持续交付、无宕机更新等),采用 paramiko 协议库(fabric也使用这个),通过 SSH 或者 ZeroMQ 等连接主机,大概每 2 个月发布一个主版本

简单的说: 让我们自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。 批量的在远程服务器上执行命令 。

Ansible则是提供了一套简单的流程,你要按照它的流程来做,就能轻松完成任务。

3.Ansible工作机制

基于 paramiko 开发的。这是一个纯Python实现的ssh协议库,Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排

4.Ansible组成

Ansible:核心

Modules:包括 Ansible 自带的核心模块及自定义模块

Plugins:完成模块功能的补充,包括连接插件、邮件插件等

Playbooks:网上很多翻译为剧本,个人觉得理解为编排更为合理;定义 Ansible 多任务配置文件,有 Ansible 自动执行

Inventory:定义 Ansible 管理主机的清单

5.Ansible优点

1、轻量级,不需要去客户端安装agent,更新时,只需要在操作机上进行一次更新即可 2、批量任务执行可以写成脚本,而且不用分发到远程就可以执行 3、使用python编写的,维护更简单 4、支持sudo

思考

你是否曾经研究过类似ansible的工具?在你的持续集成平台是否应用了自动化发布工具? 是否碰到过应用发布失败问题?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档