概述

这周在工作中需要去修改 nginx 的配置,发现了同事在使用 ansible 管理者系统几乎所有的配置,从数据库的安装、nginx 的安装及配置。于是这周研究起了 ansible 的基础用法。回过头再去看他的工程,终于能看明白了,嘿嘿

前面已经总结了三篇文章了,本章做个总结:

  • 首先是列一下不错的 ansible 教程,也是我学习过程中主要的参考文章
  • 然后列出一个用到了 ansible-playbook role include 的 demo,稍微复杂的一个目录结构示例

教程资料

资料就列这么多了,其实,过犹不及,基本找一个看着舒服的教程看完,常用的命令就能看懂了。

复杂示例

写出好的 ansible-playbook 还是要多阅读优秀的 playbook,这里先列出几个可供学习的示例资源:

列出一个感觉比较清晰简洁的例子

.
├── LICENSE.md
├── README.md
├── group_vars
│   └── all
├── hosts
├── images
│   ├── check.png
│   ├── nosql_primer.png
│   ├── replica_set.png
│   ├── scale.png
│   ├── sharding.png
│   └── site.png
├── playbooks
│   └── testsharding.yml
├── roles
│   ├── common
│   │   ├── files
│   │   │   ├── 10gen.repo.j2
│   │   │   ├── RPM-GPG-KEY-EPEL-6
│   │   │   └── epel.repo.j2
│   │   ├── handlers
│   │   │   └── main.yml
│   │   ├── tasks
│   │   │   └── main.yml
│   │   └── templates
│   │   ├── hosts.j2
│   │   └── iptables.j2
│   ├── mongoc
│   │   ├── files
│   │   │   └── secret
│   │   ├── tasks
│   │   │   └── main.yml
│   │   └── templates
│   │   ├── adduser.j2
│   │   ├── mongoc.conf.j2
│   │   └── mongoc.j2
│   ├── mongod
│   │   ├── files
│   │   │   └── secret
│   │   ├── tasks
│   │   │   ├── main.yml
│   │   │   └── shards.yml
│   │   └── templates
│   │   ├── mongod.conf.j2
│   │   ├── mongod.j2
│   │   ├── repset_init.j2
│   │   └── shard_init.j2
│   └── mongos
│   ├── files
│   │   └── secret
│   ├── tasks
│   │   └── main.yml
│   └── templates
│   ├── enablesharding.j2
│   ├── mongos.conf.j2
│   ├── mongos.j2
│   └── testsharding.j2
├── site.yml
└── tree.txt 21 directories, 38 files

site.yml 文件的内容如下:

---
# This Playbook would deploy the whole mongodb cluster with replication and sharding. - hosts: all
roles:
- role: common - hosts: mongo_servers
roles:
- role: mongod - hosts: mongoc_servers
roles:
- role: mongoc - hosts: mongos_servers
roles:
- role: mongos - hosts: mongo_servers
tasks:
- include: roles/mongod/tasks/shards.yml

Ansible 入门指南 - 学习总结的更多相关文章

  1. Ansible 入门指南 - ansible-playbook 命令

    上篇文章Ansible 入门指南 - 安装及 Ad-Hoc 命令使用介绍的额是 Ad-Hoc 命令方式,本文将介绍 Playbook 方式. Playbook 译为「剧本」,觉得还挺恰当的. play ...

  2. Ansible 入门指南 - 安装及 Ad-Hoc 命令使用

    安装及配置 ansible Ansilbe 管理员节点和远程主机节点通过 SSH 协议进行通信.所以 Ansible 配置的时候只需要保证从 Ansible 管理节点通过 SSH 能够连接到被管理的远 ...

  3. 完整的Django入门指南学习笔记7 网页自动翻译

    转自[https://simpleisbetterthancomplex.com/series/2017/10/16/a-complete-beginners-guide-to-django-part ...

  4. Ansible 入门指南 - 常用模块

    介绍 module 文档: 官宣-模块分类的索引 官宣-全部模块的索引 在playbook脚本中,tasks 中的每一个 action都是对 module的一次调用.在每个 action中: 冒号前面 ...

  5. 完整的Django入门指南学习笔记6

    前言 欢迎来到系列教程的第六部分!在这篇教程中,我们将详细探讨基于类的视图(简称CBV).我们也将重构一些现有的视图,以便利用内置的基于类的通用视图(Generic Class-Based Views ...

  6. 完整的Django入门指南学习笔记5

    前言 欢迎来到本系列教程的第5部分,在这节课,我们将学习如何保护视图防止未登录的用户访问,以及在视图和表单中访问已经登录的用户,我们还将实现主题列表和回复列表视图,最后,将探索Django ORM的一 ...

  7. 完整的Django入门指南学习笔记3

    前言 在本节课中,我们将深入理解两个基本概念: URLs 和 Forms.在这个过程中,我们还将学习其它很多概念,如创建可重用模板和安装第三方库.同时我们还将编写大量单元测试. 如果你是从这个系列教程 ...

  8. 完整的Django入门指南学习笔记2

    part2: 前沿 在第一节中,我们安装了项目所需要的一切:Python3.6以及在虚拟环境中运行的Django2.0,这部分教程继续在项目上编写代码. 开始写代码前,先讨论下项目的相关背景知识,然后 ...

  9. 完整的Django入门指南学习笔记1

    转自[https://blog.csdn.net/qq_35554125/article/details/79462885] part 1: 前沿 教程材料一共会被分为七个部分. 此教程将从安装.开发 ...

随机推荐

  1. idea启动java Maven项目,出现" java: 程序包xxxx不存在"

    今天运行Maven项目的时候,出现了,Error:(19, 17) java: 程序包tracetool不存在的情况 本人的解决办法: (1)首先确保maven  pom文件不能报错,即文件上面不能有 ...

  2. 迷宫城堡--hdu1269(连通图)

    题目链接 连通图模板题:   #include<cstdio> #include<cstdlib> #include<cmath> #include<iost ...

  3. java实现树状图

    1.定义测试数据类 VirtualDataGenerator: import java.util.ArrayList;import java.util.HashMap;import java.util ...

  4. CDN工作过程(第二种版本)

    作者:代希刚链接:https://www.zhihu.com/question/36514327/answer/121026637来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  5. SQL SERVER 2008 误删数据且无全备恢复方法

    原文:http://www.jb51.net/article/84932.htm SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至 ...

  6. 12.预处理数据的方法总结(使用sklearn-preprocessing)

    https://blog.csdn.net/sinat_33761963/article/details/53433799

  7. CentOS7更改Docker默认镜像和容器存储位置

    图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并 ...

  8. 菜刀php过waf

    关于PHP 一.waf为啥会拦截菜刀.菜刀在连接时,会向server端POST数据,抓包查看: 会看到他向server端post了 @eval(base64_decode($_POST[z0]));  ...

  9. Intro to Python for Data Science Learning 7 - 2D NumPy Arrays

    2D NumPy Arrays from:https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4- ...

  10. linux常用命令:ip 命令

    ip命令是Linux下较新的功能强大的网络配置工具. 1.命令格式: ip  [OPTIONS]  OBJECT  [COMMAND [ARGUMENTS]] 2.命令功能: ip命令用来显示或操纵L ...