Ansible 入門指南 - 學習總結

概述

這周在工做中須要去修改 nginx 的配置,發現了同事在使用 ansible 管理者系統幾乎全部的配置,從數據庫的安裝、nginx 的安裝及配置。因而這周研究起了 ansible 的基礎用法。回過頭再去看他的工程,終於能看明白了,嘿嘿html

前面已經總結了三篇文章了,本章作個總結:linux

  • 首先是列一下不錯的 ansible 教程,也是我學習過程當中主要的參考文章
  • 而後列出一個用到了 ansible-playbook role include 的 demo,稍微複雜的一個目錄結構示例

教程資料

資料就列這麼多了,其實,過猶不及,基本找一個看着舒服的教程看完,經常使用的命令就能看懂了。nginx

複雜示例

寫出好的 ansible-playbook 仍是要多閱讀優秀的 playbook,這裏先列出幾個可供學習的示例資源:git

列出一個感受比較清晰簡潔的例子

.
├── 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 文件的內容以下:github

---
# 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
相關文章
相關標籤/搜索