一个计算机技术爱好者与学习者

0%

目标

本文,目标是使用ansible安装lnmp+haproxy。
共四台主机,都是ubuntu14 server版,一台作为ansible管理机,另外三台作为ansible客户机用来部署服务。
客户机A安装nginx+php+mysql,客户机B安装nginx+php,客户机C安装haproxy用来负载均衡。如下图:

阅读全文 »

Playbooks简介

与ad-hoc任务执行模式相比,Playbooks使用ansible是一种完全不同的方式,并且功能特别强大。

简而言之,playbooks是真正简单的配置管理和多机器部署系统的基础,与已有的系统不同,并且非常适合部署复杂的应用程序。

Playbooks可以声明配置,但它们也可以协调任何手动有序流程的步骤,即使不同的步骤必须按照特定顺序在机器组之间来回跳转。它们可以同步或异步启动任务。
更多playbooks的介绍参考官方文档

阅读全文 »

YAML语言简介

YAML (/ˈjæməl/ and YAH-ml) is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Extensible Markup Language (XML) but has a minimal syntax which intentionally differs from SGML. It uses both Python-style indentation to indicate nesting, and a more compact format that uses […] for lists and {…} for maps thus JSON files are valid YAML.

参考文档:

下文主要转载自阮一峰大佬的YAML 语言教程

阅读全文 »

Ansible简介

ansible是一个用于自动化运维的配置管理和应用部署工具。基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric.SaltStack )的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署能力的是ansible所运行的模块。

ansible的基本架构:

  • 连接插件(connectior plugins)用于连接管理端和被管理端。
  • 核心模块(core modules)连接主机实现操作,它依赖于具体的模块来做具体的事情。
  • 自定义模块(custom modules)根据自己的需求编写具体的模块。
  • 插件(plugins)完成模块功能的补充。
  • 剧本(playbooks)ansible的配置文件,将多个任务定义在剧本中,由ansible自动执行。
  • 主机清单(host inventory)定义ansible需要操作主机的范围。

上述简介摘自ansible基础

参考文档:

阅读全文 »