DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt...
Transcript of DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt...
![Page 1: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/1.jpg)
Play with Ansible - Provisioning von Weblogic mit Ansible
![Page 2: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/2.jpg)
Bio• Thorsten Wussow • 20 Jahre IT davon 16 Jahre mit Oracle • [email protected] • Twitter: @thwussi
2
![Page 3: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/3.jpg)
Agenda
• Einleitung • Ansible Allgemein • Ansible für Weblogic • Demo • Q&A
![Page 4: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/4.jpg)
Einleitung
• Tools zum einfachen Konfigurationsmanagement immer wichtiger, vor allem im DevOps Umfeld
• Ansible ist Konfigurationsmanagement und Provisioning Tool, ähnlich Puppet, Salt usw.
• Aber einfacher, da nur per SSH und keine Agenteninstallation
• inzwischen von RedHat übernommen
4
![Page 5: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/5.jpg)
Agenda
• Einleitung • Ansible Allgemein • Ansible für Weblogic • Demo • Q&A
![Page 6: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/6.jpg)
Ansible Installation• Ansible wird von einem ManagementServer ausgeführt • Packages für viele Linuxdistributionen • Hier Installation für OEL 7.2: Installation Repository rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
Installation Package yum install ansible
Prüfen ansible --version
6
![Page 7: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/7.jpg)
Ansible Funktion• Ansible kann den gleichen Befehl gleichzeitig an mehrere
Server übertragen und ausführen • dazu /etc/ansible/hosts editieren und Liste erstellen [doag_servers]
192.168.176.129
192.168.176.130
• Server idealerweise versorgt mit public/private key • aber auch Anwendung mit userame/passwort möglich
7
![Page 8: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/8.jpg)
Ansible erste Kommandos• einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit können verschiedene
Funktionen wie ping, copy, move, yum, usw. ausgeführt werden. z.B. nginx auf den Servern installieren
ansible -m yum -a 'name=nginx state=present' doag_servers oder ansible all -a "/bin/echo hello"
8
![Page 9: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/9.jpg)
Ansible Handler• Handler wie tasks aber werden in Abhängigkeit eines
Tasks ausgeführt - name: Install Nginx
apt: pkg=nginx state=installed update_cache=true register: nginxinstalled
notify:
- Start Nginx ……
handlers:
- name: Start Nginx service: name=nginx state=started
9
![Page 10: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/10.jpg)
Ansible Playbook• einzelne Tasks werden in Playbooks zusammengefasst z.B. nginx.yml ---
- hosts: doag_servers
tasks:
- name: Install Nginx
yum: name=nginx state=installed update_cache=true
• Ausführung Playbook ansible-playbook nginx.yml
10
![Page 11: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/11.jpg)
Ansible Roles• Mit Roles können Tasks mit den benötigten Daten und
Variablen konfiguriert werden • Das ganze spiegelt sich im Filesystem in einer Directory-
Struktur, es müssen nur die Verzeichnisse da sein die gebraucht werden
role-name
files
handlers
meta
templates
tasks
var
11
![Page 12: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/12.jpg)
Ansible Roles• Unterordner sind festgelegt • in manchen Ordnern wird ein main.yml erwartet, welches
direkt ausgeführt wird wenn vorhanden • in anderen z.B. files liegen nur Objekte die dann mit
einem entsprechenden Modul verarbeitet werden (bei files z.B. copy)
• In templates-Ordner können templates von Konfigurationsdateien abgelegt werden. Das Format der Variablen entspricht jinja2 und die Endungen sollten .j2 sein
12
![Page 13: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/13.jpg)
Ansible Roles• Variablen werden in main.yml unter vars definiert Format: variable: wert • im main.yml unter tasks werden alle Tasks für die Role
definiert, wird z.B. copy verwendet kommen die Dateien aus files
• werden templates kopiert, werden die Platzhalter automatisch mit den definierten Variablen ersetzt
13
![Page 14: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/14.jpg)
Ansible Roles ausführen• Anlegen eines Repositories z.B. unter /opt/ansible/roles
• in Datei /etc/ansible/ansible.cfg den Pfad zu dem Repository angeben
roles_path=/opt/ansible/roles
• Erstellen eines server.yml Playbook zum ausführen ---
- hosts: all
roles:
- rolename
• Ausführung mit ansible-playbook server.yml
14
![Page 15: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/15.jpg)
Benutzerwechsel und Owner• Das Playbook wird als Privilegierter Benutzer ausgeführt. In Demo
root
• In den tasks wird ein Benutzerwechsel durchgeführt mit become become: True
become_user: {{ oracle_user }}
become_method: su
• Bei Dateioperationen kann immer der neue Owner, die neue Gruppe und die Berechtigungen der Ziel-Datei mitgegeben werden
owner={{ oracle_user }} group={{ oracle_group }} mode=0744
15
![Page 16: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/16.jpg)
Agenda
• Einleitung • Ansible Allgemein • Ansible für Weblogic • Demo • Q&A
![Page 17: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/17.jpg)
Ansible und Weblogic• Mit roles gut in Installationsschritte zu unterteilen • z.B. Konfiguration Betriebssystem, Installation Java,
Installation Binaries, Konfiguration Domain, Start, usw… • Möglichkeit, das ganze durch variable für verschiedene
Stages bereitzustellen • Kann auch nur gewisse Teile bereitstellen, z.B. nur
Domains erstellen, oder nur die Software bereitstellen
17
![Page 18: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/18.jpg)
Agenda
• Einleitung • Ansible Allgemein • Ansible für Weblogic • Demo • Q&A
![Page 19: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/19.jpg)
Aufbau der Demo• 2 virtuelle Maschinen OEL 7.2 • Ein Server ist der ManagerServer von dem aus Ansible
ausgeführt wird • Auf dem anderen wird ein Weblogic-Cluster
bereitgestellt
19
![Page 20: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/20.jpg)
Erstellte Roles• linux-jdk
– Erstellung der notwendigen Verzeichnisse
– Installation JDK
• fmw-software
– Verteilung der Software auf allen Servern
• fmw-domain-generic
– Erstellung der Weblogic-Domain
• nodemanager
– Erstellt einen NodeManager
20
![Page 21: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/21.jpg)
Agenda
• Einleitung • Ansible Allgemein • Ansible für Weblogic • Demo • Q&A
![Page 22: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/22.jpg)
Fragen und Antworten
22
![Page 23: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/23.jpg)
nützliche LinksTutorial zum Einstieg • https://serversforhackers.com/an-ansible-tutorial
Weblogicscripting für Ansible • http://middlewaresnippets.blogspot.de/2015/03/fun-with-ansible.html?
view=mosaic • https://github.com/cvezalis/ansible-weblogic-fmw-infra-12c-R2
Doku und Referens von Ansible • http://docs.ansible.com/ansible
23
![Page 24: DOAG Ansible Weblogic fileAnsible erste Kommandos • einzelne Ansible Befehle werden tasks genannt • Beispiel: ping aller Server ansible all -m ping • ping ist ein Modul, damit](https://reader030.fdocuments.net/reader030/viewer/2022040118/5e217968f57ff72c8e79585c/html5/thumbnails/24.jpg)
Thorsten WussowSLIX Gesellschaft für Computersysteme mbH Nandlstädter Weg 6 84072 Au i. D. Hallertau
phone mail web
+49 1733208013 [email protected] www.slix.de