centos:ansible:first

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
centos:ansible:first [20.06.2020 19:07. ] – [Links] djangocentos:ansible:first [06.04.2022 15:58. ] – [Ansible: Directory Layout] django
Zeile 5: Zeile 5:
  
 ===== Voraussetzung: SSH-Schlüssel ===== ===== Voraussetzung: SSH-Schlüssel =====
-Einer der wesentlichen Vorteil von Ansible ist, dass hierzu kein separater eigener Server von Nöten ist, sondern dass im Grunde ein (Client-/Admin-)Workstation ausreicht, auf dem die Playbooks zur Verfügung stehen. Gleichwohl wird man in größeren INstallationsumgebungen in aller Regel einen dedizierten Server zur Orchestrierung mit Ansible vorhalten. Dieser Rechner muss dann lediglich die Server, die automatisiert verwaltet und konfiguriert werden sollen, mit Hilfe der SSH erreichen können, denn Ansible arbeitet im Push-Verfahren und benötigt neben **[[centos:ssh_c7|SSH]]** und **[[https://python.org|Python]]** keine weitere Installation auf den einzelnen Systemen. +Einer der wesentlichen Vorteil von Ansible ist, dass hierzu kein separater eigener Server von Nöten ist, sondern dass im Grunde ein (Client-/Admin-)Workstation ausreicht, auf dem die Playbooks zur Verfügung stehen. Gleichwohl wird man in größeren Installationsumgebungen in aller Regel einen dedizierten Server zur Orchestrierung mit Ansible vorhalten. Dieser Rechner muss dann lediglich die Server, die automatisiert verwaltet und konfiguriert werden sollen, mit Hilfe der SSH erreichen können, denn Ansible arbeitet im Push-Verfahren und benötigt neben **[[centos:ssh_c7|SSH]]** und **[[https://python.org|Python]]** keine weitere Installation auf den einzelnen Systemen. 
  
 ==== Dokumentation ==== ==== Dokumentation ====
Zeile 105: Zeile 105:
 <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 !             #
Zeile 687: Zeile 687:
  
 ==== 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%>
Zeile 697: Zeile 697:
 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
Zeile 1289: Zeile 1289:
     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 =====
Zeile 1297: Zeile 1312:
 <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 !             #
Zeile 1605: Zeile 1620:
  
 /* https://docs.ansible.com/ansible/latest/modules/modules_by_category.html */ /* https://docs.ansible.com/ansible/latest/modules/modules_by_category.html */
 +