Ansible 生产环境中的使用问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ready2race
V2EX    问与答

Ansible 生产环境中的使用问题

  •  
  •   ready2race 2015-10-31 10:06:51 +08:00 4229 次点击
    这是一个创建于 3638 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们机房有几百台服务器,身为管理员,一直在考虑采用一些自动化运维工具来减少工作负担,所以最近一直在学习 ansible ,看完文档后,还是有些疑惑,对于生产环境中的使用更是谨慎

    1:对于生产服务器,稳定性是第一位,像我们每次进行变更都要进行测试和审批,大的变更升级,更是慎之又慎,由于每台服务器环境不同,批量执行过程中, ansible 如何保证执行过程的正确性?假如失败,如何定位?如何回滚?

    2:生产环境中,可能会使用各种 linux 发行版本,而且很多时候服务器是不能连接外网的, ansible 是如何解决软件源的问题?

    3:举个实际的例子:我有 2 台 redhat5.8 , 2 台 redhat7.0 , 2 台 ubuntu14.04 , 1 台 AIX , 1 台 HP-UX ,想同时安装 oracle , ansible 是怎么解决的?

    4:以上这些疑问, puppet , Salt 又是怎么解决的?

    5:对于这些这类自动化运维工具,有什么缺点?生产环境中使用有什么要注意的?

    14 条回复    2016-05-18 17:37:48 +08:00
    crowds
        1
    crowds  
       2015-10-31 13:15:34 +08:00
    环境还没统一就有几百台服务器了?
    略坑啊
    R4rvZ6agNVWr56V0
        2
    R4rvZ6agNVWr56V0  
       2015-10-31 13:37:03 +08:00
    1.失败就是失败了就可以停止了,就跟执行 shell 指令一样,定位和回滚还得靠管理员
    2.软件源问题你们内部搭建个 rpm 或者 deb 源就好了啊,毕竟你们无法访问外网
    3.ansible 有现成的解决方案?你确定?
    4.puppet 和 salt 都是中心化控制和管理的,需要安装 master 和 agent ,太麻烦了
    ansible 不需要,有 ssh 登陆账号、密码或者密钥就可以对服务器操作
    ready2race
        3
    ready2race  
    OP
       2015-10-31 14:50:46 +08:00
    @crowds 机房有各种环境很正常!
    fangpeishi
        4
    fangpeishi  
       2015-10-31 15:01:28 +08:00
    @ready2race
    2 台 redhat5.8 , 2 台 redhat7.0 , 2 台 ubuntu14.04 , 1 台 AIX , 1 台 HP-UX
    几百台除去以上剩余的是?
    ready2race
        5
    ready2race  
    OP
       2015-10-31 15:20:36 +08:00
    @GeekGao

    举刚刚那个装 oracle 的例子,有小鸡,有 ubuntu ,有 redhat ,而且 redhat 还有 5.8 ,有 7.0?每种都搭个离线 yum 源或着 deb 源???假如又有新的版本加入怎么办?

    关于 ansible 安装 oracle 确实没有看到相关的文章,当然我也没专门去找,但是批量安装 oracle 这种需求还是挺常见的

    ansible 是不是不能跨版本执行任务?? 比如说, 5 台不同发行版的 linux 安装 MySQL
    R4rvZ6agNVWr56V0
        6
    R4rvZ6agNVWr56V0  
       2015-10-31 15:27:28 +08:00
    @ready2race 不行哦,操作系统版本差异不是一个小工具就可以解决的,不如尝试虚拟化的方案
    ready2race
        7
    ready2race  
    OP
       2015-10-31 15:28:29 +08:00
    @fangpeishi 我只是举个小栗子~~ 主要的意思想问 ansible 可不可以在不同 Linux 和 UNIX 上同时执行任务,而且每种操作系统环境都不同,安装过程中 ansible 如何解决安装过程中的依赖问题!

    我们机房小鸡比较多,哈哈哈哈~~
    crowds
        8
    crowds  
       2015-10-31 15:48:38 +08:00
    @ready2race 服务器是你们的还是别人的?
    ready2race
        9
    ready2race  
    OP
       2015-10-31 16:09:14 +08:00
    @crowds 我们的服务器主要由两个部门构成,我们自己的比较多些,分局的服务器也要负责,好吧!不下心暴露了
    crowds
        10
    crowds  
       2015-10-31 16:14:25 +08:00
    @ready2race 难怪是 RH 的 现在用得起 RH 的也是有土豪和国字头了
    ready2race
        11
    ready2race  
    OP
       2015-10-31 16:29:14 +08:00
    @GeekGao 虚拟化方案我们早就在用了,只是试下 ansible 这个坑
    R4rvZ6agNVWr56V0
        12
    R4rvZ6agNVWr56V0  
       2015-10-31 17:40:50 +08:00
    @ready2race 有写 playbook 嘛?
    ready2race
        13
    ready2race  
    OP
       2015-10-31 18:24:38 +08:00
    @GeekGao 还没有!不过一直看文档,但是最基本的适用情景还是没弄清楚,换句话来说,还是没搞懂 ansible 到底可以做些什么!到底有什么优势!
    hzwlf2002
        14
    hzwlf2002  
       2016-05-18 17:37:48 +08:00
    推荐一本书: Ansible: Up and Running

    这里有一些简单的 playbook 示例,欢迎交流与给星。

    https://github.com/wanglf/ansible-playbook
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5611 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 03:04 PVG 11:04 LAX 20:04 JFK 23:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86