设为首页 收藏本站
查看: 3117|回复: 0

[经验分享] Ansible 小手册系列 一(介绍)

[复制链接]

尚未签到

发表于 2018-7-28 13:57:47 | 显示全部楼层 |阅读模式
介绍
  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是怎么工作的
DSC0000.jpg

  Paste_Image.png
  从上图可以看出,运行ansible的先决条件是,安装ansible到管理节点,定义主机清单,并有一些playbooks定义。
  让我们来看看我们如何使用Ansible将我们的Ubuntu虚拟机转换为Web服务器。
  您在管理节点上运行Ansible Playbook,它查看您在playbook中定义的命令参数,并通知我们定位到网络组中的节点。 Ansible然后读取主机清单以查找分配给Web组的节点。在这一点上,Ansible已经准备好开始工作,所以它将通过ssh远程连接到定义的机器,通常你会想要通过预共享密钥建立一些类型的ssh信任,这样你就不必在进行ssh登陆的时候输入密码。然后Ansible将开始逐步执行playbook中的任务,一次一个任务,从顶部到底部的顺序遍历它们,就像你手动登录执行任务一样。所以,它安装软件包,更新配置文件,使用git部署我们的网站代码,最后启动我们的Web服务。当Ansible很愉快的把一切都按预期的完成,你会得到一个执行成功的状态报告。
  可以用动图说明下此次过程。
DSC0001.jpg

  46-ansible-playbook-haproxy-nginx1.gif
对管理主机的要求
  目前,只要机器上安装了 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 ,还需要额外安装一个模块:
  python-simplejson
Ansible 与其它配置管理的对比
  选择了目前几款主流的与 Ansible 功能类似的配置管理软件 Puppet、Saltstack,这里所做的对比不针对各个软件的性能作比较,只是对各个软件的特性做个对比。
PuppetSaltstackAnsible开发语言RubyPythonPython是否有客户端有有无是否支持二次开发不支持支持支持服务器与远程机器是否相互验证是是是服务器与远程机器通信是否加密是,标准 SSL 协议是,使用 AES 加密是,使用 OpenSSH平台支持支持 AIX、BSD、HP-UX、Linux、 MacOSX、Solaris、 Windows支持 BSD、Linux、Mac OS X、Solaris、 Windows支持 AIX、BSD、 HP-UX、 Linux、Mac OSX、Solaris是否提供 webui   提供提供提供,不过是商业版本配置文件格式Ruby 语法格式YAMLYAML命令行执行不支持,但可通过配置模块实现支持支持资源
  官方文档: http://docs.ansible.com/
  中文文档: http://www.ansible.com.cn/    http://ansible-tran.readthedocs.io/
  Jinja2 中文文档: http://docs.jinkan.org/docs/jinja2/
  yaml语法: http://www.yaml.org/
  书籍: https://www.ansible.com/ebooks   链接:http://pan.baidu.com/s/1qYazeos 密码:28p2
  ansible  examples :https://github.com/ansible/ansible-examples
  ansible-vim: https://github.com/pearofducks/ansible-vim (可以高亮显示,语法检查)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542621-1-1.html 上篇帖子: ansible 实现巡检自动化 下篇帖子: Ansible 小手册系列 二(安装)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表