设为首页 - 加入收藏 哈密站长网 (http://www.0902zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 云计算 win7 谷歌 什么
当前位置: 首页 > 精华综合 > 外闻 > 正文

如何通过Ansible来管理上千台服务器??

发布时间:2018-12-08 13:32 所属栏目:[外闻] 来源:Python运维圈
导读:一、基础介绍 1、简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。

?一、基础介绍

1、简介

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

(1)、连接插件connection plugins:负责和被监控端实现通信;

(2)、host inventory:指定操作的主机,,是一个配置文件里面定义监控的主机;

(3)、各种模块核心模块、command模块、自定义模块;

(4)、借助于插件完成记录日志邮件等功能;

(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

如何通过Ansible来管理上千台服务器??

2、总体架构

如何通过Ansible来管理上千台服务器??

3、特性

(1)、no agents:不需要在被管控主机上安装任何客户端;

(2)、no server:无服务器端,使用时直接运行命令即可;

(3)、modules in any languages:基于模块工作,可使用任意语言开发模块;

(4)、yaml,not code:使用yaml语言定制剧本playbook;

(5)、ssh by default:基于SSH工作;

(6)、strong multi-tier solution:可实现多级指挥。

4、优点

(1)、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;

(2)、批量任务执行可以写成脚本,而且不用分发到远程就可以执行;

(3)、使用python编写,维护更简单,ruby语法过于复杂;

(4)、支持sudo。

5、任务执行流程

如何通过Ansible来管理上千台服务器??

二、Ansible基础安装与配置

1、Ansible基础安装

(1)、python2.7安装

  1. #wget?https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz?
  2. #?tar?xvzf?Python-2.7.8.tgz?
  3. #?cd?Python-2.7.8?
  4. #?./configure?--prefix=/usr/local?
  5. #?make?--jobs=`grep?processor/proc/cpuinfo?|?wc?-l`?
  6. #?make?install?
  7. ##?将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件?
  8. #?cd?/usr/local/include/python2.7?
  9. #?cp?-a?./*?/usr/local/include/?
  10. ##?备份旧版本的python,并符号链接新版本的python?
  11. #?cd?/usr/bin?
  12. #?mv?python?python2.6?
  13. #?ln?-s?/usr/local/bin/python?
  14. ##?修改yum脚本,使其指向旧版本的python,已避免其无法运行?
  15. #?vim?/usr/bin/yum?
  16. #!/usr/bin/python?-->?#!/usr/bin/python2.6?

(2)、setuptools模块安装

  1. #wget?https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz?
  2. #?tar?xvzf?setuptools-7.0.tar.gz?
  3. #?cd?setuptools-7.0?
  4. #?python?setup.py?install?

(3)、pycrypto模块安装

  1. #wget?https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz?
  2. #?tar?xvzf?pycrypto-2.6.1.tar.gz?
  3. #?cd?pycrypto-2.6.1?
  4. #?python?setup.py?install?

(4)、PyYAML模块安装

  1. #wget?http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz?
  2. #?tar?xvzf?yaml-0.1.5.tar.gz?
  3. #?cd?yaml-0.1.5?
  4. #?./configure?--prefix=/usr/local?
  5. #?make?--jobs=`grep?processor?/proc/cpuinfo?|?wc?-l`?&&?make?install?
  6. ?
  7. //作业数是在编译的时候指定主机的CPU个数,并行处理的作业数和编译的效率直接相关,所以需要设置合适的作业数量。?
  8. ?
  9. #wget?https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz?
  10. #?tar?xvzf?PyYAML-3.11.tar.gz?
  11. #?cd?PyYAML-3.11?
  12. #?python?setup.py?install?

(5)、Jinja2模块安装

  1. https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz?
  2. #?tar?xvzf?MarkupSafe-0.9.3.tar.gz?
  3. #?cd?MarkupSafe-0.9.3?
  4. #?python?setup.py?install?
  5. https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz?
  6. #?tar?xvzf?Jinja2-2.7.3.tar.gz?
  7. #?cd?Jinja2-2.7.3?
  8. #?python?setup.py?install?

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章