自动化运维之Ansible服务部署

Ansible简介

Ansible使用Python语言开发,巧妙的设计、实现了简单易用、功能强大的自动化管理工具。目前它已经广泛应用于各种规模、各个领域的企业。

Ansible应用领域

Ansible的编排引擎可以出色地完成配置管理、流程控制、资源部署等工作,与其他IT自动化产品比较,Ansible提供了一种不需要安装客户端软件、管理简便、功能强大的基础架构配置、维护工具。

  • 安装部署过程特别简单,学习曲线很平坦;
  • 管理主机便捷,支持多台主机并行管理;
  • 避免在被管理主机上安装客户代理,打开额外端口,采用无代理方式,只是利用现在的ssh后台进程;
  • 用于描述基础架构的语言无论对机器还是对人都是友好的;
  • 关注安全,很容易对执行的内容进行审计、评估、重写;
  • 能够立即管理远程被管理主机,不需要预先安装任何软件;
  • 不仅仅支持Python,可运行使用任何动态语言开发的模块;
  • 非root账号也可以使用;
  • 成为最简单、易用的IT自动化系统

Ansible功能特性

从功能上实现了以下目标:

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

系统环境

主机 操作系统 IP地址
Ansible Server Centos 7.3 X86_64 192.168.96.15
Client1 Centos 7.3 X86_64 192.168.96.23
Client2 Centos 7.3 X86_64 192.168.96.24

一、安装Ansible

1.关闭防火墙及Selinux

setenforce 0
systemctl stop firewalld

2.安装repo源

yum -y install epel-release

3.安装rabbitmq-server软件包

yum -y install ansible tree

4.查看ansible目录结构

tree /etc/ansible/

5.编辑主机及组的配置

vim /etc/ansible/hosts

#新增主机
[webserver]
192.168.96.23
192.168.96.24
[mysql]
192.168.96.24

二、配置Linux被控机ssh无密码访问

1.生成一对密钥

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rkN0zcCPMUsNd/JcugxgF2z5DGCbQtMVCqDl4ZSg6rA [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+
|  ..=o+o**B+. .  |
| . *.o =BB*= o   |
|. . o [email protected]++    |
|.     ..+ +oo.   |
|o    . .S   o    |
|o.    ..         |
|E.   .  .        |
|      ..         |
|      ..         |
+----[SHA256]-----+

2.发送公钥至被控制机上

cd /root/.ssh

ssh-copy-id [email protected]
yes----->输入对方root密码--->

ssh-copy-id [email protected]
yes----->输入对方root密码--->

3.启用ssh代理

ssh-agent bash
ssh-add

至此,ansible管理端已经安装完毕了


三、对被管节点批量执行操作

1.对所有被管节点连通性进行测试

ansible all -m ping

2.对webserver组所有主机执行date命令

ansible webserver -m command -a ‘date‘

3.对webserver组所有主机执行添加计划性任务

ansible webserver -m cron -a ‘minute="*/10" job="/bin/echo hello" name="test cron job"‘

4.对webserver组所有主机执行查询计划性任务

ansible webserver -a ‘crontab -l‘

原文地址:http://blog.51cto.com/10316297/2153100

时间: 2024-08-29 09:06:09

自动化运维之Ansible服务部署的相关文章

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

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

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

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

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

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

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

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

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

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

自动化运维工具——ansible详解案例分享

自动化运维工具--ansible详解案例分享(一)目录ansible 简介ansible 是什么?ansible 特点ansible 架构图ansible 任务执行ansible 任务执行模式ansible 执行流程ansible 命令执行过程ansible 配置详解ansible 安装方式使用 pip(python的包管理模块)安装使用 yum 安装ansible 程序结构ansible配置文件查找顺序ansible配置文件ansuble主机清单ansible 常用命令ansible 命令集a

3.1 自动化运维工具ansible

自动化运维工具ansible 运维自动化发展历程及技术应用 Iaas 基础设施即服务Pass 平台服务SaaS 软件即服务 云计算工程师核心职能 Linux运维工程师职能划分 自动化动维应用场景 文件传输命令执行 应用部署配置管理任务流编排 企业实际应用场景分析 1 Dev开发环境 使用者:程序员功能:程序员开发软件,测试BUG的环境管理者:程序员123 2 测试环境 使用者:QA测试工程师功能:测试经过Dev环境测试通过的软件的功能管理者:运维说明:测试环境往往有多套,测试环境满足测试功能即可

自动化运维工具-Ansible基础

目录 自动化运维工具-Ansible基础 自动化运维的含义 Ansible 基础及安装 Ansible的架构 Ansible的执行流程 ansible配置文件 ansible Inventory(主机清单文件) Ansible ad-hoc ansible常用模块 实战 自动化运维工具-Ansible基础 自动化运维的含义 1.手动运维时代 2.自动化运维时代 3.自动化运维工具给运维带来的好处 Ansible 基础及安装 1.什么是Ansible Ansible是一个自动化统一配置管理工具 2

自动化运维工具SaltStack详细部署【转】

==========================================================================================一.基础介绍==========================================================================================1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp