Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision |
centos:ansible:first [21.06.2020 08:11. ] – [Voraussetzung: SSH-Schlüssel] django | centos:ansible:first [06.04.2022 15:58. ] – [Ansible: Directory Layout] django |
---|
<code>############################################################################## | <code>############################################################################## |
# # | # # |
# ╭∩╮( ͡° ل͟ ͡° )╭∩╮ This is not your server! ╭∩╮( ͡° ل͟ ͡° )╭∩╮ # | # ╭∩╮( ͡° ل͟ ͡° )╭∩╮ This is not your server! ╭∩╮( ͡° ل͟ ͡° )╭∩╮ # |
# # | # # |
# Unauthorized access to this system is prohibited ! # | # Unauthorized access to this system is prohibited ! # |
| |
==== Ansible: Directory Layout ===== | ==== Ansible: Directory Layout ===== |
Gemäß **[[http://docs.ansible.com/ansible/latest/playbooks_best_practices.html|Ansible's Best Practices]]** gibt es durchaus einige Möglichkeiten wie man seine Playbooks organisiert. In aller Regel wird man hier die eigenen individuellen Bedürfnisse (seiner Unternehmung) vornan stellen. | Gemäß **[[http://docs.ansible.com/ansible/latest/playbooks_best_practices.html|Ansible's Best Practices]]** gibt es durchaus einige Möglichkeiten wie man seine Playbooks organisiert. In aller Regel wird man hier die eigenen individuellen Bedürfnisse (seiner Unternehmung) voran stellen. |
| |
<WRAP center round tip 90%> | <WRAP center round tip 90%> |
Mit dieser Struktur sind wir dann in der Lage jede Inventardatei mit ihrer **''group_vars''** und **''host_vars''** in ein separates Verzeichnis zu packen. Fernen können wir so einfach neue Rollen **''roles''**erzeugen, in dem wir dann einfach die bereits vorgefertigte Rollenvorlage **''common''** kopieren. | Mit dieser Struktur sind wir dann in der Lage jede Inventardatei mit ihrer **''group_vars''** und **''host_vars''** in ein separates Verzeichnis zu packen. Fernen können wir so einfach neue Rollen **''roles''**erzeugen, in dem wir dann einfach die bereits vorgefertigte Rollenvorlage **''common''** kopieren. |
| |
Werfen wir also einfach mal auf die beschrieben Verzeichnisstruktur einen genaueren Blick. Die entsprechende Verwendung der einzelnen Verzeichnisse und DAteien ist in der Aufstellung entsprechend angegeben. | Werfen wir also einfach mal auf die beschrieben Verzeichnisstruktur einen genaueren Blick. Die entsprechende Verwendung der einzelnen Verzeichnisse und Dateien ist in der Aufstellung entsprechend angegeben. |
<code>ansible/ | <code>ansible/ |
├── filter_plugins # (optionales) Verzeichnis für individuelle filter plugins | ├── filter_plugins # (optionales) Verzeichnis für individuelle filter plugins |
demo</code> | demo</code> |
| |
| ==== Ansible-Plugin für vim ==== |
| Das Bearbeiten von YAML_Dateien kann mit dem Standard-Editor der Wahl **''vim''** zuweilen recht anstrengend werden, da zum einen das Syntax-highlighting nicht immer passt und die automatischen Einrückungen nicht immer wunschgemäß funktioniert. Hierzu wollen wir nun, wie im Buch **[[https://www.buecher.de/shop/server/ansible/miesen-axel/products_products/detail/prod_id/59485549/|Ansible - Das Praxisbuxch für Administratoren und DevOps-Teams]]** von Axel Miesen auf Seite 64 ff. gezeigt, unseren Standard-Editor **''vim''** mit dem Plugin **[[https://github.com/pearofducks/ansible-vim|ansible-vim]]** von **Dave Honeffer** aus. |
| |
| Hierzu legen wir uns im Home-Verzeichnis unseres Admins ein zugehöriges Verzeichnis an. |
| $ mkdir -p ~/.vim/pack/vendor/start |
| |
| Anschließend klonen wir das GitHub-Projekt direkt in dieses Verzeichnis. |
| $ git clone --depth 1 https://github.com/pearofducks/ansible-vim.git ~/.vim/pack/vendor/start/ansible-vim |
| |
| Abschließend legen wir uns noch die für den Admin gehörige persönliche vim-Einstellungsdatei mit nachfolgendem Inhalt an. |
| $ vim ~/.vimrc |
| |
| <file vim ~/.vimrc>filetype plugin indent on |
| syntax on |
| au BufRead,BufNewFile */playbooks/*.yml set filetype=yaml.ansible</file> |
| |
===== erste Verbindungstests ===== | ===== erste Verbindungstests ===== |
<code>############################################################################## | <code>############################################################################## |
# # | # # |
# ╭∩╮( ͡° ل͟ ͡° )╭∩╮ This is not your server! ╭∩╮( ͡° ل͟ ͡° )╭∩╮ # | # ╭∩╮( ͡° ل͟ ͡° )╭∩╮ This is not your server! ╭∩╮( ͡° ل͟ ͡° )╭∩╮ # |
# # | # # |
# Unauthorized access to this system is prohibited ! # | # Unauthorized access to this system is prohibited ! # |
| |
/* https://docs.ansible.com/ansible/latest/modules/modules_by_category.html */ | /* https://docs.ansible.com/ansible/latest/modules/modules_by_category.html */ |
| |