[PYTHON] Ansible comme outil d'apprentissage de l'infrastructure
Ansible, l'un des outils de gestion de la configuration aux côtés de Chef et Puppet. Cependant, j'ai pensé que ce serait bon non seulement comme outil de gestion de configuration, mais aussi comme outil d'apprentissage du côté de l'infrastructure, donc je vais l'écrire. Je suis aussi un débutant, donc je pense qu'il y a différentes choses à faire, mais je suis très bienvenu.
Fonctionnalités et rédaction
Tout d'abord, décrivons brièvement les fonctionnalités de Ansible.
―― Puisque vous pouvez créer un environnement tant que vous pouvez vous connecter à l'environnement cible par SSH, c'est simple.
- Puisque le traitement est exécuté dans l'ordre d'écriture, c'est simple
- Puisqu'il peut être écrit en YAML, c'est simple
――Comme c'est simple, le coût d'apprentissage initial est faible!
- Même ceux qui sont frustrés par le chef peuvent aller (devraient)
Ansible lui-même est écrit en Python, mais je ne pense pas que vous soyez au courant de Python. Cependant, Python doit être installé dans l'environnement cible.
À titre d'exemple, nous prendrons l'exemple officiel qui construit l'environnement nginx + wordpress. Je pense que vous pouvez imaginer que cela aura la forme suivante.
Cet article était facile à lire pour expliquer la méthode d'installation et la partie d'introduction.
Pourquoi j'ai pensé que c'était bon
- Économique car l'environnement construit peut être supprimé tant que le playbook (YAML qui est la base qui décrit la configuration) reste.
―― Même si vous ne voulez apprendre qu'une partie, si vous avez un playbook de base, vous pouvez apprendre en douceur en en changeant une partie.
―― La notation d'Ansible étant simple, il est facile d'avoir une vue d'ensemble de la composition que vous avez créée.
- Si vous le gérez avec git, vous pouvez facilement suivre l'historique des modifications.
―― Comme la documentation est complète, je lis souvent la documentation et j'en tire des leçons lors d'essais et d'erreurs.
- Il y a beaucoup d'informations auxquelles on peut se référer dans le livre de jeu public. Vous pouvez apprendre avec une petite taille de grain, ce qui est différent d'apprendre à partir d'un livre.
Tips
- Les VPS tels que Digital Ocean sont plus beaux que Vagrant
Il est bon d'utiliser Vagrant pour les tests, mais cela prend du temps à démarrer à chaque fois, et lorsque le playbook devient plus grand dans une certaine mesure, cela peut prendre du temps en fonction de la puissance du système d'exploitation hôte. Je pense qu'il vaut mieux utiliser VPS, qui peut être utilisé toutes les heures.
- AWS est bien, mais DigitalOcean, qui est facile à utiliser, bon marché et facile à comprendre, peut être bon.
--Grandissez avec la gestion git
- Si vous l'utilisez pour apprendre, il peut être préférable de créer un répertoire comme
/ ansible / nginx-rails
et de gérer git sous le répertoire ansible. Parfois, vous pouvez revenir dans le passé si vous faites une erreur et ne pouvez pas ressusciter.
Exemple d'utilisation comme outil d'apprentissage
- Essayez d'abord d'écrire vous-même un manuel simple
- Si vous ne savez pas comment écrire, consultez Documents officiels ou recherchez * [Ce que vous voulez savoir] + ansible *, et de nombreux playbooks apparaîtront. Référez-vous-y.
- Si vous ne savez pas comment configurer Ansible, consultez Bonnes pratiques ou Ansible Galaxy. Rechercher et trouver.
- Démarrez un nouveau serveur et essayez-le.
- Regardez le mouvement et corrigez
Fondamentalement, cela se répète.
Autres pages généralement utiles
Livres japonais
Il est très facile à comprendre et à lire. C'est une liste de commandes, mais au lieu d'essayer de tout lire depuis le début, je pense qu'il est préférable de commencer à le faire après en avoir lu environ la moitié et de s'y référer à nouveau plus tard comme un livre de référence. Quand on y fait référence, c'est utile car c'est une description qui est séparée par thème et ne gaspille pas.
<a href="http://www.amazon.co.jp/gp/product/B00MALTGDY/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00MALTGDY&linkCode=as2&tag=morizotter" Getting Started0f-2