首次购买高性能云服务器,享低至2折优惠

搜搜吧

查看: 6|回复: 0

[资讯] 如何通过Ansible来管理上千台服务器??[含6P]

[复制链接]
  • TA的每日心情
    擦汗
    昨天 15:56
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    超级VIP贵宾会员

    83

    主题

    86

    帖子

    273

    积分

    Rank: 1

    UID
    21335
    威望
    -3
    贡献
    108
    在线时间
    1 小时
    注册时间
    2018-12-6
    发表于 6 天前 | 显示全部楼层 |阅读模式
    推广者专属福利,新客户无门槛领取总价值高达2775元代金券,每种代金券限量500张,先到先得。

    一、基础介绍

    1、简介

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

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

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

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

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

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

    add3f59ae21664bfa8fc53edd9b82ada.jpg-wh_651x-s_1672862107.jpg

    2、总体架构

    fdcb63c113d18789f6aae9be00ee40c1.jpg

    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、任务执行流程

    f1a2e7a0e182fc474a9250b8c3ec460a.jpg

    二、Ansible基础安装与配置

    1、Ansible基础安装

    (1)、python2.7安装

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

    (2)、setuptools模块安装

    (3)、pycrypto模块安装

    (4)、PyYAML模块安装

    (5)、Jinja2模块安装

    • https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz
    • # tar xvzf MarkupSafe-0.9.3.tar.gz
    • # cd MarkupSafe-0.9.3
    • # python setup.py install
    • https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
    • # tar xvzf Jinja2-2.7.3.tar.gz
    • # cd Jinja2-2.7.3
    • # python setup.py install

    (6)、paramiko模块安装

    • https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
    • # tar xvzf ecdsa-0.11.tar.gz
    • # cd ecdsa-0.11
    • # python setup.py install
    • https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
    • # tar xvzf paramiko-1.15.1.tar.gz
    • # cd paramiko-1.15.1
    • # python setup.py install

    (7)、simplejson模块安装

    • https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz
    • # tar xvzf simplejson-3.6.5.tar.gz
    • # cd simplejson-3.6.5
    • # python setup.py install

    (8)、ansible安装

    • https://github.com/ansible/ansible/archive/v1.7.2.tar.gz
    • # tar xvzf ansible-1.7.2.tar.gz
    • # cd ansible-1.7.2
    • # python setup.py install

    2、Ansible配置

    (1)、SSH免密钥登录设置

    ## 生成公钥/私钥并传到目标服务器(在10.123.167.15执行)

    9c670a59d9e67b0d4be32a94d7a6bb75.jpg

    #将私钥加到目标服务器的认证文件并授权(在34、51、59、61、63执行)

    3ee50bf6f29173064455453049c8fdf7.jpg

    (2)、ansible配置

    • # mkdir -p /etc/ansible
    • # cp /opt/ansible/ansible-1.7.2/examples/ansible.cfg /etc/ansible/ansible.cfg
    • # vim /etc/ansible/ansible.cfg
    • ……
    • private_key_file = /root/.ssh/id_rsa
    • ……
    • ## 主机组定义
    • # vim /etc/ansible/hosts
    • [hwb_cluster]
    • 10.150.xx.34
    • 10.150.xx.51
    • 10.150.xx.59
    • 10.150.xx.61
    • 10.150.xx.63
    • 10.150.xx.88
    • 10.150.xx.89

    (3)、简单测试

    • # ansible hwb_cluster -m command -a 'uptime'

    8b8b2978ec8eb2730f94bc24ec10fd9a.jpg

    Ansible适用于管理多台服务器,在ansible主机上执行对应的命令实际上是通过ssh协议到对应的受控服务器上执行命令,省掉了我们很多不必要的工作,很方便,如果大家对自动化运维感兴趣的话可以自己试一下,这篇文档入门是完全没问题的,后面就要去学一下playbooks语法来写脚本了。


    楼主热帖排行榜
    搜搜吧社区温馨提示:
    搜搜吧(www.sosoba.org)十分重视网络版权及其他知识产权的保护,针对网络侵权采取如下版权政策:
    1、本站有理由相信网友侵犯任何人的版权或作品,(图文,文字,下载,视频,非法传播),本站有权不事先通知即删除涉嫌侵权的作品和内容!
    2、本站将采取必要的网络技术手段,确认为侵权作品或内容的用户有权进行警告、屏蔽、删除的行为,尽可能的防止侵权行为的发生!
    3、如若您的作品或内容在搜搜吧被侵权,请及时联系我们并提供能证明版权所有的物品,我们将及时进行处理,给您造成不便,敬请谅解!
    4、搜搜吧删帖,投诉,举报,侵权,账号解封唯一指定快速受理频道,请直接发送邮件到 kefu-sosoba@qq.com 一个工作日内核实并邮件通知立即删除
    soso搜搜吧社区是聚合百度搜索,搜狗搜索,360搜索,新闻,教育,站长,广告,娱乐,影视,微信,网盘,营销,手机,汽车,游戏,论坛综合为一体的大型门户社区www.sosoba.org
    Powered by www.sosoba.org X3.4© 2013-2019 搜搜吧社区 小黑屋|手机版|地图|关于我们|新闻资讯|soso搜搜吧社区官网
    搜搜吧社区官网创建于2013年07月23日,本站内容均为会员发表,并不代搜搜吧社区立场,请遵守当地相关法律,客服邮箱: kefu-sosoba@qq.com
    本站所有的内容均来自互联网以及第三方作者自由发布、本站soso搜搜吧不承担任何的法律责任、若有侵权请来信告知,我们在收到举报后的一个工作日内立即删除
    推荐使用:chrmoe谷歌浏览器,搜狗浏览器,QQ浏览器,360极速浏览器,360安全浏览器,猎豹浏览器,火狐浏览器,世界之窗,百度浏览器,Safari浏览器,ios,Android

    GMT+8, 2018-12-12 07:23 , Processed in 1.125000 second(s), 30 queries , Gzip On.

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