Ansible 入门指南 - 学习总结
概述
这周在工作中需要去修改 nginx 的配置,发现了同事在使用 ansible 管理者系统几乎所有的配置,从数据库的安装、nginx 的安装及配置。于是这周研究起了 ansible 的基础用法。回过头再去看他的工程,终于能看明白了,嘿嘿
前面已经总结了三篇文章了,本章做个总结:
- 首先是列一下不错的 ansible 教程,也是我学习过程中主要的参考文章
- 然后列出一个用到了 ansible-playbook role include 的 demo,稍微复杂的一个目录结构示例
教程资料
- shijingjing - Ansible 入门 我学习时候的主要参考
- 朱双印-ansible 系列 这个博主貌似主要是搞运维的,博客上总结了很多文章,赞
- 骏马金龙-ansible 这位老哥和上面那位有一拼的,博客记载的东西真是太全了,安利
- B站视频-ansible教程-马哥2019全新ansible入门到精通
- 凍仁翔-現代 IT 人一定要知道的 Ansible 自動化組態技巧 貌似是一个台湾的IT学习网站,这个博主写了31篇文章,虽然是2016年的资料,还是有学习价值
- Ansible中文权威指南 对官方文档的翻译,比较老了,2015年翻译的
- IBM-Ansible 进阶技巧 IBM Developer 网站的文章,里边有一些有意思的技巧
资料就列这么多了,其实,过犹不及,基本找一个看着舒服的教程看完,常用的命令就能看懂了。
复杂示例
写出好的 ansible-playbook 还是要多阅读优秀的 playbook,这里先列出几个可供学习的示例资源:
- ansible/ansible-examples 一个面向初学者的 ansible playbook 收集仓库
- galaxy ansible 这里就有很多流行的应用示例了,进阶看
列出一个感觉比较清晰简洁的例子
- https://github.com/ansible/ansible-examples/tree/master/mongodb
- https://sourcegraph.com/github.com/ansible/ansible-examples/-/blob/mongodb/site.yml 对上面 mongodb 项目的查看,方便的工具,推荐
.
├── 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 入门指南 - 学习总结的更多相关文章
- Ansible 入门指南 - ansible-playbook 命令
上篇文章Ansible 入门指南 - 安装及 Ad-Hoc 命令使用介绍的额是 Ad-Hoc 命令方式,本文将介绍 Playbook 方式. Playbook 译为「剧本」,觉得还挺恰当的. play ...
- Ansible 入门指南 - 安装及 Ad-Hoc 命令使用
安装及配置 ansible Ansilbe 管理员节点和远程主机节点通过 SSH 协议进行通信.所以 Ansible 配置的时候只需要保证从 Ansible 管理节点通过 SSH 能够连接到被管理的远 ...
- 完整的Django入门指南学习笔记7 网页自动翻译
转自[https://simpleisbetterthancomplex.com/series/2017/10/16/a-complete-beginners-guide-to-django-part ...
- Ansible 入门指南 - 常用模块
介绍 module 文档: 官宣-模块分类的索引 官宣-全部模块的索引 在playbook脚本中,tasks 中的每一个 action都是对 module的一次调用.在每个 action中: 冒号前面 ...
- 完整的Django入门指南学习笔记6
前言 欢迎来到系列教程的第六部分!在这篇教程中,我们将详细探讨基于类的视图(简称CBV).我们也将重构一些现有的视图,以便利用内置的基于类的通用视图(Generic Class-Based Views ...
- 完整的Django入门指南学习笔记5
前言 欢迎来到本系列教程的第5部分,在这节课,我们将学习如何保护视图防止未登录的用户访问,以及在视图和表单中访问已经登录的用户,我们还将实现主题列表和回复列表视图,最后,将探索Django ORM的一 ...
- 完整的Django入门指南学习笔记3
前言 在本节课中,我们将深入理解两个基本概念: URLs 和 Forms.在这个过程中,我们还将学习其它很多概念,如创建可重用模板和安装第三方库.同时我们还将编写大量单元测试. 如果你是从这个系列教程 ...
- 完整的Django入门指南学习笔记2
part2: 前沿 在第一节中,我们安装了项目所需要的一切:Python3.6以及在虚拟环境中运行的Django2.0,这部分教程继续在项目上编写代码. 开始写代码前,先讨论下项目的相关背景知识,然后 ...
- 完整的Django入门指南学习笔记1
转自[https://blog.csdn.net/qq_35554125/article/details/79462885] part 1: 前沿 教程材料一共会被分为七个部分. 此教程将从安装.开发 ...
随机推荐
- ie浏览器总跳转到 http://hao.360.cn
起因在于 开启360某些防护之后,若出现使用ie无法打开网页的情况,那么就会跳转到http://hao.360.cn .把360的防护能关的都关掉,就不会跳转了. 第二个问题:chrome可以打开网 ...
- vue - 组件的创建
组件的创建 vue的核心基础就是组件的使用,玩好了组件才能将前面学的基础更好的运用起来.组件的使用更使我们的项目解耦合.更加符合vue的设计思想MVVM. 那接下来就跟我看一下如何在一个Vue实例中使 ...
- div+css网页标准布局实例教程(一)
今天学习<十天学会web标准(div+css)>的最后一个章节,本章节把前面学习的零碎内容串联起来,组织成一个网站,将根据本人这些年来的从业经验,从建立站点到一个完整的div+css网页的 ...
- 【深入理解javascript】闭包
1.作用域 “javascript没有块级作用域”.所谓“块”,就是大括号“{}”中间的语句.例如if语句: 再比如for语句: 所以,我们在编写代码的时候,不要在“块”里面声明变量,要在代码的一开始 ...
- 高性能mysql第6章
第6章,优化配置 https://www.cnblogs.com/musings/p/5913157.html 1:服务器读取的配置文件,可以使用下面的命令查询 admin@iZwz92c0zpe8t ...
- Mac下PHP7.1+Nginx安装和配置
https://blog.csdn.net/haiyanggeng/article/details/79186982 PHP:7.1.13Nginx:1.12.2 1. 安装PHP# 添加源brew ...
- [vue]组件最佳实战
[vue]全局组件和局部组件(嵌套+props引用父组件数据) [vue]组件篇 [vue]组件的创建(componet)和销毁(keep-alive缓存)和父子dom同步nextTick [vue] ...
- [LeetCode] 116&117. Populating Next Right Pointers in Each Node I&II_Medium tag: BFS(Dont know why leetcode tag it as DFS...)
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...
- IP设置-内置服务器-外置服务器
HBulider 中 运行 -> 设置web服务器 -> 内置服务器将 127.0.0.1 换为局域网的ip,可以在局域网内所有电脑,手机上浏览页面.但是只能浏览html,php asp等 ...
- iOS 新浪微博-1.0框架搭建
项目搭建 1.新建一个微博的项目,去掉屏幕旋转 2.设置屏幕方向-->只有竖向 3.使用代码构建UI,不使用storyboard 4.配置图标AppIcon和LaunchImage 将微博资料的 ...