初探ansible安装

一.ansible介绍
常用的自动化运维工具

Puppet —基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱
SaltStack —基于 Python 开发,采用 C/S 架构,相对 puppet 更轻量级,配置语法使用 YMAL,使得配置 脚本更简单 Ansible —基于 Pythonparamiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2 模板语言,更强的远程命令执行操作 其他 DevOps 请参看:https://github.com/geekwolf/sa-scripts/blob/master/devops.md
Ansible 是一个简单的自动化运维管理工具,可以用来自动化部署应用、配置、编排 task(持续 交付、无宕机更新等),采用 paramiko 协议库(fabric 也使用这个),通过 SSH 或者 ZeroMQ 等连 接主机,大概每 2 个月发布一个主版

Ansible 工作机制

Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执 行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排

由上面的图可以看到 Ansible 的组成由 5 个部分组成:

Ansible:核心引擎

Modules:包括 Ansible 自带的核心模块(core modules)及自定义模块 (custom modules);

核心模块:ansible模块资源分发到远程节点使其执行特定任务或匹配一个特定的状态。

自定义模块:如果核心模块不足以完成某种功能,可以添加自定义模块。

Plugins:完成模块功能的补充,包括连接插件、邮件插件等

Playbooks:网上很多翻译为剧本,个人觉得理解为编排更为合理;定义ansible任务的配置文件,可以将多个任务定义在一个剧本中,由ansible自动执行,剧本执行支持多个任务,可以由控制主机运行多个任务,同时对多台远程主机进行管理。

Inventory:定义 Ansible 管理主机的清单

ansible功能特性

  • 应用代码自动化部署。
  • 系统管理配置自动化。
  • 支持持续交付自动化。
  • 支持云计算、大数据平台(如AWS、OpenStack、VMWare等)环境。
  • 轻量级,无需在客户端安装agent,更新时只需在控制机上进行一次更新即可。
  • 批量任务执行可以写成脚本,不用分发到远程就可以执行。
  • 使用Python编写,维护更简单,Ruby语法过于复杂。
  • 支持非root用户管理操作,支持sudo。


二.安装ansible

安装前准备:

1.因为ansible是基于python的,所以先检查是否有python,如果没有需要安装(注意版本,版本过低,也可能导致安装失败)。

2.安装ansible前需要安装依赖包

yum -y install epel-release

......

ansible安装:

yum -y install ansible

.......

安装完成后需要配置机组:

vim /etc/ansible/hosts

这里我的机组名为[ccdoop],以下是我的另外2台机子的配置(本机为:test1:192.168.254.130)

test2 192.168.254.131

test3 192.168.254.132

到这里ansible就安装完成了。

测试:

ansible all -m ping

结果:成功!

注:由于本机只有一个组[ccdoop],故用all,如果有多个机组,而你只想测试一个组的话可以把all替换为组名,如:

时间: 2024-10-12 12:05:58

初探ansible安装的相关文章

【mac】ansible安装及基础使用

安装 环境释放 mac 10.12.5 #more /System/Library/CoreServices/SystemVersion.plist 安装命令 #ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #brew update #brew install Ansible 安装后hosts默认访问位置 /usr/local/et

ansible安装应用及playbook剧本的定义

在配置集群时,每个节点上有很多相同的配置,如启动服务相同.安装程序.提供相同的配置文件,甚至定制相同的任务计划来定期执行某些操作等.如果你管理的只是三两个节点配置起来还是相当简单的,但是有三五十台,甚至上百台你还要自已一个一个手动来配置,那就太痛苦了.因些我们就需要能实现批量管理的一套组件,ansible就是实现这样管理的工具. ansible以它强大功能和简单上手的应用,在2012年获OSS(Open Source Software,开源软件 开放源代码软件)一项大奖,评为前十名,评为最有用的

ansible 安装与基本功能的使用

实验环境: centos6.6  IP 192.168.38.152 (安装ansible) centos6.6  IP 192.168.38.155(hostname: web155.com,实验用的客户机) 安装方法: 利用yum 安装ansible,要求系统的python要是2.6以上 1.1  开始安装: 1.1.1 需要在152的机器安装一下epel外部源,可以使用阿里云的源: 更新源的方法: 1. 首先卸载以前装的epel 以免影响   rpm -e epel-release 2. 

ansible安装及使用

一.ansible介绍 1.ansible ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端.ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定操

ansible安装zabbix_agent客户端

想着机器已经有几台了,说多不多,少也不算少,想着利用ansible安装zabbix_agent 客户端方便点了.做完了有些东西记录下,于是就有了这篇文章了. [[email protected]_WEB01 ansible ]# tree .├── ansible.cfg├── hosts├── roles│   └── zabbix_agent_install│       ├── files│       │   ├── gcc_zabbix.sh│       │   └── zabbix

ansible安装及简单配置

一.安装Ansible 安装epel扩展源 rpm -ivh epel-release-7-5.noarch.rpm 安装ansible yum -y install ansible 安装sshpass curl -O -L  tar -zxvf sshpass-1.05.tar.gz  cd sshpass-1.058 ./configure make && make install 配置shh互信,远程操作无需输入密码  ssh-keygen  ssh-copy-id -i ~/.ss

ansible安装nginx

ansible安装nginx实现回滚发布功能 一.准备工作 1.准备两台机器 sai: 192.168.131.132  --> ansible的服务端 luojy: 192.168.131.133 --> ansible的客户端 2.132机器上安装ansible (1)yum install -y epel-release (2)yum install -y ansible 3.132,133机器上关闭防火墙 4.设置hostname,/etc/sysconfig/network 上定义

Ansible安装配置及使用

一.Ansible特点 1.不需要安装客户端,通过sshd通信 2.基于模块工作,模块可以由任何序言开发 3.不仅支持命令行使用模块,也支持编写yaml格式的playbook 4.支持sudo 5.有提供UI(浏览器图形化)www.ansible.com/tower10台主机以内免费 6.开源UI https://github.com/alaxli/ansible_ui文档 http://download.csdn.net/detail/liyang23456/7741185 二.Ansible

自动化批量部署工具Ansible笔记之ansible安装与Inventory文件

一.ansible简介 ansible是一款自动化运维部署工具,与saltstack,pupet等不同的是,ansible没有采用C/S的架构,即没有客户端与服务端之分.这也就意味着,ansible的安装更加方便,管理节点更加灵活(任何一台安装了ansible的机器都可以充当管理节点). ansible提供了丰富的模块来方便的完成管理任务,对于复杂的管理任务来说,ansible通过编写playbook的方式来批量执行.而且ansible也可以并发的执行操作,可以同时在多台机器上执行playboo