运维神器 ansible 安装部署

抽空研究下自动运维神器 ,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 [email protected]

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

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

时间: 2024-10-08 12:24:21

运维神器 ansible 安装部署的相关文章

自动化运维工具Ansible详细部署 (转载)

自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 ===========================

自动化运维之Ansible安装与模块应用

自动化运维之Ansible Ansible概述 由于互联网快速展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量维护操作,人就按照传统方式进行维护会使工作效率低下,只是,部署自动化运维就尽可能安全,高校的完成工作 一般会把自动化运维工具划分为两类 (一)需要使用代理工具的,也就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等(二)不需要配置代理工具,可以直接基于SSH服务来管理完成,如:Ansible,Fabric等 下面介绍几款空能和类似的自动化运维工具

自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 =========================================================

自动化运维工具Ansible架构部署应用及playbooks简单应用

在日常服务器运维中,我们经常要配置相同的服务器配置,前期我们都是一台一台的去配置,这种方法操作主要应对于服务器数量不多且配置简单的情况还可以继续这样操作,如果我们后期维护几百服务器或者几万服务器呢? 我应该怎样去快速配置服务器呢?如果需要手动的每台服务器进行安装配置将会给运维人员带来许多繁琐而又重复的工作同时也增加服务器配置的异常,至此自动化运维工具解决我们的瓶颈---Ansible工具. Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfeng

走进自动化运维之Ansible服务部署,附带(参数及模块)详解!

何为Ansible: 简单的自动化运维管理工具,不需要配置代理工具,基于Python研发. Ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 自动化运维工具"三剑客": 工具 开发语言 结构 配置文件格式 运行任务 Ansible Python 无 YAML 支持命令行 SaltStack Python C/S YAML 支持命令行 Puppet Ruby C/S Ruby语法格式 通过模块实现 a

自动化运维之Ansible安装及基本模块应用

ansible简介 Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机.管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile. 2.ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真

自动化运维工具ansible——安装及模块管理

ansible简介 ?ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ?ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括:(1).连接插件connection plugins:负责和被监控端实现通信:(2).host inventory:指

自动化运维之 Ansible——安装配置

Ansible相对于其他自动化运维工具(saltstack.puppet)的优势: Ansible是一款轻量级框架,基于各个模块实现各种功能,模块可根据需要自行开发 agentless 无需安装agent,可根据具体情况建立一台操作机 支持playbook剧本 python语言开发,做运维的都比较容易接受的语言 其他等等,一百度一大堆,自行百度吧~ 环境说明: 系统环境centos6.8 操作机 192.168.1.121 客户机 192.168.1.122 基本安装 安装gcc,用于编译pyt

自动化运维之Ansible服务部署

Ansible简介 Ansible使用Python语言开发,巧妙的设计.实现了简单易用.功能强大的自动化管理工具.目前它已经广泛应用于各种规模.各个领域的企业. Ansible应用领域 Ansible的编排引擎可以出色地完成配置管理.流程控制.资源部署等工作,与其他IT自动化产品比较,Ansible提供了一种不需要安装客户端软件.管理简便.功能强大的基础架构配置.维护工具. 安装部署过程特别简单,学习曲线很平坦: 管理主机便捷,支持多台主机并行管理: 避免在被管理主机上安装客户代理,打开额外端口