码迷,mamicode.com
首页 > 其他好文 > 详细

运维神器 ansible 安装部署

时间:2018-03-26 23:33:59      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:系统/运维   Linux   

抽空研究下自动运维神器 ,ansible ,基于SSH的管理,不需要agent

技术分享图片

  • 核心:ansible
  • 核心模块(Core Modules):这些都是ansible自带的模块?
  • 扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
  • 插件(Plugins):完成模块功能的补充
  • 剧本(Playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行
  • 连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件
  • 主机群(Host Inventory):定义ansible管理的主机


原理图

技术分享图片

技术分享图片

安装完ansible后,发现ansible一共为我们提供了七个指令:ansible、ansible-doc、ansible-galaxy、ansible-lint、ansible-playbook、ansible-pull、ansible-vault 。这里我们只查看usage部分,详细部分可以通过 “指令 -h” 的方式获取。

实验机的centos python有些问题,即便是更新了EPEL 用的还是2.4.0的,用github的30M一直下不来,换成ubuntu继续试验,不过实验结束之后发现centos yum不支持python 2.7 而ansible又需要这个库,所以免费的软件后期维护成本比较大

$ sudo apt-get install software-properties-common

$ sudo apt-add-repository ppa:ansible/ansible

$ sudo apt-get update

$ sudo apt-get install ansible

技术分享图片

技术分享图片

ansible all -m shell -a "hostname" --ask-pass -i /etc/ansible/hosts

技术分享图片

新的2台服务器没有key

第一次链接的时候会提示

技术分享图片

ubuntu 的编辑器有些怪,让我先修一下

sudo apt-get remove vim-common sudo apt-get install vim

sudo vi /etc/ansible/ansible.cfg

#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s

ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no

技术分享图片

sudo vi /etc/ansible/ansible.cfg

host key 检查改为false

技术分享图片

居然拒绝了

技术分享图片

我先生成个key

ssh-keygen

技术分享图片

ssh-copy-id pcdog@ansible2

技术分享图片

ansible 192.168.209.146 -a ‘uptime‘

技术分享图片

可以看到受控机器的启动时间

ansible -m ping all

技术分享图片

可以看到2台机器都已经可以ping通了

在/etc/ansible/hosts中把2台服务器合并到一个lab组中


技术分享图片

一组相似的 hostname , 可简写如下:

[webservers] www[01:50].example.com

数字的简写模式中,01:50 也可写为 1:50,意义相同.你还可以定义字母范围的简写模式:

[databases] db-[a:f].example.com


ansible lab -m command -a ls

技术分享图片

同时可以列目录了

ansible有Patterns的规则

ansible <pattern_goes_here> -m <module_name> -a <arguments>

换成命令

ansible webservers -m service -a "name=httpd state=restarted"

可以同时对一个组执行某些服务的启动

具体的看官方文档。。。。

http://docs.ansible.com/ansible/latest/intro_patterns.html


相对来说ansible 管理起来还是比较简单,应用搭建过程不超过6个小时,大部分的维护命令需要写在playbook里面,我就不一一具体介绍了

http://docs.ansible.com/ansible/latest/playbooks.html

运维神器 ansible 安装部署

标签:系统/运维   Linux   

原文地址:http://blog.51cto.com/433266/2091386

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!