[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.15,0:00:17.92,Default,,0000,0000,0000,,{\i1}36C3 Vorspannmusik{\i0} Dialogue: 0,0:00:17.92,0:00:21.85,Default,,0000,0000,0000,,Herald: Applaus, Applaus, Applaus,\NApplaus, weil an der Stelle ein riesiges Dialogue: 0,0:00:21.85,0:00:25.59,Default,,0000,0000,0000,,Applaus für Heiko Borchers.\N{\i1}Applaus{\i0} Dialogue: 0,0:00:25.59,0:00:30.35,Default,,0000,0000,0000,,Herald: Er ist Fachinformatiker und in\Nseiner Vita steht, dass er sich von Autos Dialogue: 0,0:00:30.35,0:00:35.10,Default,,0000,0000,0000,,in der Cloud kümmert. Also ein spannendes\NThema und er redet über „Ansible all the Dialogue: 0,0:00:35.10,0:00:38.64,Default,,0000,0000,0000,,things“. Darum viel Spaß und\Nich lerne jetzt bestimmt auch viel. Dialogue: 0,0:00:38.64,0:00:44.13,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:00:44.13,0:00:48.40,Default,,0000,0000,0000,,Heiko Borchers: Ja, dann erst mal guten\NMorgen an Tag 1. Ich hätte nicht Dialogue: 0,0:00:48.40,0:00:52.89,Default,,0000,0000,0000,,gedacht, dass an Tag 1 um die frühe\NUhrzeit schon so viele Leute hier sind. Dialogue: 0,0:00:52.89,0:00:57.86,Default,,0000,0000,0000,,Und ja ich werde darüber reden „Ansible\Nall the things“, was mir dann tatsächlich Dialogue: 0,0:00:57.86,0:01:08.18,Default,,0000,0000,0000,,geholfen hat, wie ich Ansible gelernt\Nhabe. Zu mir: Ich bin Sysadmin, mach Dialogue: 0,0:01:08.18,0:01:12.83,Default,,0000,0000,0000,,hauptsächlich Cloud-Infrastruktur, wie der\NPupe ja auch schon gesagt hatte. Großteil Dialogue: 0,0:01:12.83,0:01:17.54,Default,,0000,0000,0000,,davon ist für Elektroautos und eigentlich\Nautomatisiere ich mir halt am liebsten Dialogue: 0,0:01:17.54,0:01:23.55,Default,,0000,0000,0000,,alles weg. Und da sind halt dann für die\NCloud Terraform und Ansible auch im Dialogue: 0,0:01:23.55,0:01:29.66,Default,,0000,0000,0000,,täglichen Einsatz und meine Motivation für\Ndiesen Talk war tatsächlich: Ansible ist Dialogue: 0,0:01:29.66,0:01:34.49,Default,,0000,0000,0000,,mein Lieblingstool und ich hab auf Twitter\Nviel dieses Jahr gelesen: Ja eigentlich würde Dialogue: 0,0:01:34.49,0:01:42.25,Default,,0000,0000,0000,,ich das sehr gerne lernen aber wie fange\Nich an? Irgendwie kam viel, habe ich von Dialogue: 0,0:01:42.25,0:01:47.32,Default,,0000,0000,0000,,vielen Leuten gehört, dass sie keinen\NStartpunkt gefunden haben und da wollte Dialogue: 0,0:01:47.32,0:01:52.65,Default,,0000,0000,0000,,ich jetzt dann halt mal einen Startpunkt\Nliefern. Erstmal: Warum mag ich Ansible so? Dialogue: 0,0:01:52.65,0:01:56.62,Default,,0000,0000,0000,,Ich arbeite viel mit Kundensystemen und\Nda dann noch mal irgendwas zusätzliches zu Dialogue: 0,0:01:56.62,0:02:04.18,Default,,0000,0000,0000,,installieren ist vielleicht nicht ganz so\Noptimal. Deswegen agentless, man braucht Dialogue: 0,0:02:04.18,0:02:11.20,Default,,0000,0000,0000,,auf dem Kundensystem später nichts mehr\Nzusätzlich, hat relativ wenig, was die Dialogue: 0,0:02:11.20,0:02:17.51,Default,,0000,0000,0000,,Software noch rummüllt, es braucht nicht\Nnoch zusätzliche zentrale Infrastruktur, Dialogue: 0,0:02:17.51,0:02:24.91,Default,,0000,0000,0000,,wie man es teilweise mit Puppet hat, kann\Nman haben, muss man nicht nutzen. Ich finde Dialogue: 0,0:02:24.91,0:02:31.88,Default,,0000,0000,0000,,es war relativ leicht zu lernen, es ist\NOpen Source, was immer praktisch ist. Und Dialogue: 0,0:02:31.88,0:02:35.26,Default,,0000,0000,0000,,wenn man die Ansbile-Rollen richtig\Ngeschrieben hat, kann man sie einmal Dialogue: 0,0:02:35.26,0:02:39.11,Default,,0000,0000,0000,,laufen lassen, zweimal laufen lassen, das\NErgebnis wird am Ende immer das Gleiche Dialogue: 0,0:02:39.11,0:02:46.25,Default,,0000,0000,0000,,sein. Ja, vielleicht: Warum nicht Ansible?\NEs ist nicht unbedingt schnell und man Dialogue: 0,0:02:46.25,0:02:54.65,Default,,0000,0000,0000,,muss YAML lernen und YAML ist pingelig, was\NLeerzeichen und Tabstops angeht. Da hat Dialogue: 0,0:02:54.65,0:03:01.48,Default,,0000,0000,0000,,man gerne mal ’ne falsche Einrückung und\Nam Ende fliegt einem alles um die Ohren. Dialogue: 0,0:03:01.48,0:03:07.73,Default,,0000,0000,0000,,Dann fange ich auch direkt mit den Basics\Nan: so sieht so eine Standard- Dialogue: 0,0:03:07.73,0:03:14.07,Default,,0000,0000,0000,,Ordnerstruktur aus von Ansible. Man hat\Nseine config, man hat eventuell Hashes von Dialogue: 0,0:03:14.07,0:03:21.13,Default,,0000,0000,0000,,irgendwelchen Credentials. Man hat\NVariablen, die für ganze Gruppen da sind. Dialogue: 0,0:03:21.13,0:03:26.72,Default,,0000,0000,0000,,Man hat so ein hosts-File, wo sämtliche\NServer drin stehen, die man hat. Man hat Dialogue: 0,0:03:26.72,0:03:30.59,Default,,0000,0000,0000,,ein sogenanntes Playbook, in dem drin\Nsteht, was man mit seiner Infrastruktur Dialogue: 0,0:03:30.59,0:03:37.15,Default,,0000,0000,0000,,machen will und dann hat man verschiedene\NRollen. Und ja, wie sieht so eine Config Dialogue: 0,0:03:37.15,0:03:42.91,Default,,0000,0000,0000,,aus? Das ist jetzt tatsächlich meine\Nconfig, die ich auch normalerweise nutze. Dialogue: 0,0:03:42.91,0:03:48.37,Default,,0000,0000,0000,,Das ist tatsächlich halt wie jedes\Nandere config-File unter x-beliebigen Dialogue: 0,0:03:48.37,0:03:57.56,Default,,0000,0000,0000,,Betriebssystemen: einfach nur Key\Nund Value. Dann so ein ganz einfaches Dialogue: 0,0:03:57.56,0:04:03.44,Default,,0000,0000,0000,,Playbook. Das würde jetzt auf allen\NHosts laufen, die man so in seinem Dialogue: 0,0:04:03.44,0:04:08.20,Default,,0000,0000,0000,,Inventory stehen hat. Wie das Inventory\Naussieht, zeige ich euch gleich noch. Dialogue: 0,0:04:08.20,0:04:15.79,Default,,0000,0000,0000,,Und man gibt hier halt noch ein\NVariablen-File an und hat dann Dialogue: 0,0:04:15.79,0:04:19.48,Default,,0000,0000,0000,,verschiedene Rollen. Das ist jetzt\Nso das Playbook, was ich tatsächlich Dialogue: 0,0:04:19.48,0:04:24.27,Default,,0000,0000,0000,,immer als allererstes laufen\Nlasse, installiert die Rolle Packages, Dialogue: 0,0:04:24.27,0:04:29.82,Default,,0000,0000,0000,,da werden einfach so die Standardpakete,\Ndie ich gerne habe, werden installiert. Dialogue: 0,0:04:29.82,0:04:37.86,Default,,0000,0000,0000,,Dann date_time: wird ein NTP-Server\Nkonfiguriert. Über den hosts wird Dialogue: 0,0:04:37.86,0:04:42.66,Default,,0000,0000,0000,,die /etc/hosts noch angepasst und mit der\NRolle user kopiere ich tatsächlich meine Dialogue: 0,0:04:42.66,0:04:46.86,Default,,0000,0000,0000,,ganzen dot-files und alles, was ich gerne\Nan config habe, direkt auf den Server, Dialogue: 0,0:04:46.86,0:04:56.12,Default,,0000,0000,0000,,damit ich überall so arbeiten kann, wie es\Nmir am besten gefällt. Und ja da haben wir Dialogue: 0,0:04:56.12,0:05:05.72,Default,,0000,0000,0000,,dann jetzt so eine Rolle, das ist die\Nuser-Rolle. Und da gibt es dann halt auch Dialogue: 0,0:05:05.72,0:05:10.09,Default,,0000,0000,0000,,wieder so eine Ordnerstruktur. Die\NOrdnerstruktur lege ich mir für, jedes mal Dialogue: 0,0:05:10.09,0:05:15.94,Default,,0000,0000,0000,,wenn ich eine neue Rolle schreibe, lege\Nich mir diese Ordnerstruktur mit defaults, Dialogue: 0,0:05:15.94,0:05:20.36,Default,,0000,0000,0000,,files, handlers, tasks und vars halt\Neinfach mit einem kleinen Bashskript an. Dialogue: 0,0:05:20.36,0:05:27.38,Default,,0000,0000,0000,,Die Ordner werden halt eh alle fast immer\Ngebraucht. Das sind so defaults, wirklich Dialogue: 0,0:05:27.38,0:05:35.58,Default,,0000,0000,0000,,default-Werte, die man setzt. Files sind\Neinfach nur Dateien, die ihr auf der Dialogue: 0,0:05:35.58,0:05:41.14,Default,,0000,0000,0000,,Maschine haben wollt, die keine Templates\Nsind sondern tatsächlich feste Files, Dialogue: 0,0:05:41.14,0:05:54.01,Default,,0000,0000,0000,,Binaries oder halt bei mir meine dot-\Nfiles. Und dann haben wir tatsächlich, das Dialogue: 0,0:05:54.01,0:06:02.24,Default,,0000,0000,0000,,sind die verschiedenen Tasks. Es wird das\Nsudoer-File erstmal an einen sicheren Ort Dialogue: 0,0:06:02.24,0:06:14.14,Default,,0000,0000,0000,,kopiert, das Original. Dann wird\Ntatsächlich einfach nur in der Datei ein Dialogue: 0,0:06:14.14,0:06:26.97,Default,,0000,0000,0000,,bisschen was geändert. Am Ende wird noch\Nein Sanity-Check gemacht und nach dem Dialogue: 0,0:06:26.97,0:06:32.53,Default,,0000,0000,0000,,Sanity-Check, wenn alles so funktionieren\Nsollte, wird der ssh-daemon einfach neu Dialogue: 0,0:06:32.53,0:06:39.21,Default,,0000,0000,0000,,gestartet, damit man nicht … der Task ist\Ntatsächlich dafür da dass man nicht immer Dialogue: 0,0:06:39.21,0:06:43.37,Default,,0000,0000,0000,,als root auf den Server connecten muss\Nsondern mit seinem Nutzernamen und dann Dialogue: 0,0:06:43.37,0:06:50.68,Default,,0000,0000,0000,,mit seinem Nutzernamen sudo verwenden\Nkann. Das ist der Handler, der dann Dialogue: 0,0:06:50.68,0:06:55.95,Default,,0000,0000,0000,,aufgerufen wird, um den ssh-daemon\Nneu zu starten. Wird dann das Ansible- Dialogue: 0,0:06:55.95,0:07:04.38,Default,,0000,0000,0000,,Modul für systemd oder initV-Services\Nbenutzt und es wird einfach nur geguckt, Dialogue: 0,0:07:04.38,0:07:10.23,Default,,0000,0000,0000,,beziehungsweise der Service wird neu\Ngestartet und wenn dann halt die Meldung Dialogue: 0,0:07:10.23,0:07:18.47,Default,,0000,0000,0000,,zurückkommt, „service has restarted“, ist\Nder Handler dann auch abgeschlossen. So Dialogue: 0,0:07:18.47,0:07:28.61,Default,,0000,0000,0000,,sieht halt auch so ein Task aus, hat einen\NNamen, installiere die Base-Software, die Dialogue: 0,0:07:28.61,0:07:36.77,Default,,0000,0000,0000,,Pakete, wird geguckt, je nachdem welches\NOS, ob jetzt ein CentOS haben oder ein Dialogue: 0,0:07:36.77,0:07:48.12,Default,,0000,0000,0000,,Debian, und dann wird die Liste an Paketen\Neinfach durch geguckt und das jeweilige Dialogue: 0,0:07:48.12,0:08:01.67,Default,,0000,0000,0000,,Paket installiert. Hier haben wir auch noch\Nmal dieses notify, es gibt halt dann dem Dialogue: 0,0:08:01.67,0:08:10.64,Default,,0000,0000,0000,,Handler die Info. Und bei dem Tag habe ich\Nhalt noch reingeschrieben „new system“, das Dialogue: 0,0:08:10.64,0:08:15.51,Default,,0000,0000,0000,,Tag wird dann, wenn das System einmal\Nkonfiguriert ist, auch gelöscht. Und hier Dialogue: 0,0:08:15.51,0:08:23.55,Default,,0000,0000,0000,,haben wir jetzt so einen Auszug aus einem\NVariablen-File. Bei Debian heißen die Dialogue: 0,0:08:23.55,0:08:29.16,Default,,0000,0000,0000,,monitoring plugins, monitoring-plugins-\Nbasic. Bei Red Hat heißen sie nagios Dialogue: 0,0:08:29.16,0:08:36.07,Default,,0000,0000,0000,,plugins und auf Arch Linux heißen sie halt\Nmonitoring-plugins. und weil man in seiner Dialogue: 0,0:08:36.07,0:08:43.75,Default,,0000,0000,0000,,Rolle nicht jetzt in dem Fall drei\Nverschiedene Plugins, also drei Dialogue: 0,0:08:43.75,0:08:49.28,Default,,0000,0000,0000,,verschiedene Paketnamen angeben will, hat\Nman es halt in den Variablen-Dateien und Dialogue: 0,0:08:49.28,0:08:53.15,Default,,0000,0000,0000,,Ansible guckt vorher, welches\NBetriebssystem ist das jetzt, was ich Dialogue: 0,0:08:53.15,0:08:57.88,Default,,0000,0000,0000,,provisioniere und nimmt dann\Ndementsprechend aus diesen Dreien das, was Dialogue: 0,0:08:57.88,0:09:05.37,Default,,0000,0000,0000,,für das Betriebssystem das Richtige ist.\NDann gibt es auch noch Variablen, die Dialogue: 0,0:09:05.37,0:09:11.78,Default,,0000,0000,0000,,möchte man nicht unbedingt im Klartext\Nhaben. Wenn man zum Beispiel irgendwelche Dialogue: 0,0:09:11.78,0:09:17.64,Default,,0000,0000,0000,,Privat-Keys auf eine Maschine kopieren\Nmuss oder für ein Cluster oder Dialogue: 0,0:09:17.64,0:09:22.61,Default,,0000,0000,0000,,Datenbankserver-Sync, wenn man mit Key-\NFiles arbeitet. Die schiebt man vielleicht Dialogue: 0,0:09:22.61,0:09:26.75,Default,,0000,0000,0000,,auch aus Versehen einmal ins git und dann\Nliegen sie im Klartext in irgendeinem git- Dialogue: 0,0:09:26.75,0:09:32.71,Default,,0000,0000,0000,,Repo. Ist doof. Dafür hat Ansible halt das\NAnsible-Vault. Und dann steht da halt Dialogue: 0,0:09:32.71,0:09:39.50,Default,,0000,0000,0000,,erstmal nur drinnen: Ansible_Vault ist\NAES256 verschlüsselt und quasi zufällige Dialogue: 0,0:09:39.50,0:09:43.69,Default,,0000,0000,0000,,Daten und ja ich weiß die sehen jetzt\Nnicht zufällig aus. Ich wollte hier keine Dialogue: 0,0:09:43.69,0:09:54.95,Default,,0000,0000,0000,,verschlüsselten Daten auf die Wand werfen.\NUnd ja so von den Basics her war es das Dialogue: 0,0:09:54.95,0:09:58.93,Default,,0000,0000,0000,,auch. Was man für Ansible sonst noch\Nbraucht, ist einfach nur sein Dialogue: 0,0:09:58.93,0:10:05.98,Default,,0000,0000,0000,,Lieblingseditor, kann man mit vi oder\Nemacs machen, kann man aber auch mit IDEs Dialogue: 0,0:10:05.98,0:10:10.64,Default,,0000,0000,0000,,machen. Aber eigentlich braucht man nur\Neinen Texteditor und Ansible als Software Dialogue: 0,0:10:10.64,0:10:17.13,Default,,0000,0000,0000,,selber. Und was mir dabei tatsächlich\Ngeholfen hat, es vernünftig zu lernen, Dialogue: 0,0:10:17.13,0:10:20.14,Default,,0000,0000,0000,,war, ich habe mir meinen RaspberryPi\Nzuhause genommen … Dialogue: 0,0:10:20.14,0:10:27.16,Default,,0000,0000,0000,,Moment, da hat ich doch auch noch eine\NSlide, wo ist die denn hin verschwunden? Dialogue: 0,0:10:27.16,0:10:37.86,Default,,0000,0000,0000,,Warum habe ich diese Slide übersprüngen?\NDas war nämlich das Inventory, das ist Dialogue: 0,0:10:37.86,0:10:43.98,Default,,0000,0000,0000,,halt auch wieder eine YAML-Datei.\NHier habe ich jetzt die Gruppe Dialogue: 0,0:10:43.98,0:10:47.97,Default,,0000,0000,0000,,MeineServer: mein root-Server, auf dem\Nauch die Präsentation gerade läuft und Dialogue: 0,0:10:47.97,0:10:53.20,Default,,0000,0000,0000,,mein RaspberryPi und um es mir selber\Nbeizubringen, habe ich tatsächlich auf dem Dialogue: 0,0:10:53.20,0:10:57.94,Default,,0000,0000,0000,,RaspberryPi so die kleinste Debian\NInstallation genommen, die ich finden Dialogue: 0,0:10:57.94,0:11:02.45,Default,,0000,0000,0000,,konnte, und dann alles, was ich\Nauf dem Pi zuhause haben wollte, Dialogue: 0,0:11:02.45,0:11:07.34,Default,,0000,0000,0000,,per Ansible drauf installiert.\NErst mal mit kleinen Sachen Dialogue: 0,0:11:07.34,0:11:13.26,Default,,0000,0000,0000,,angefangen wie halt dem ntp-daemon\Nkonfigurieren, dann für zuhause Dialogue: 0,0:11:13.26,0:11:17.11,Default,,0000,0000,0000,,vielleicht nicht ganz so relevant, aber\Nfail2ban konfigurieren. Solche kleineren Dialogue: 0,0:11:17.11,0:11:21.36,Default,,0000,0000,0000,,Sachen kann man relativ gut machen ohne\Ndass man sich das komplette System Dialogue: 0,0:11:21.36,0:11:26.42,Default,,0000,0000,0000,,zerschießt. Und dann halt später immer\Ngrößer werden. Und das ist tatsächlich Dialogue: 0,0:11:26.42,0:11:32.46,Default,,0000,0000,0000,,auch mein Tipp: Wer es lernen möchte, nimmt\Nsich halt einfach den Kleinstcomputer der Dialogue: 0,0:11:32.46,0:11:38.56,Default,,0000,0000,0000,,Wahl, packt da ein Linux drauf und bewirft\Nden erstmal mit Ansible. Von der Dialogue: 0,0:11:38.56,0:11:42.25,Default,,0000,0000,0000,,Performance her tut sich da eh nicht\Nsoviel, ob man jetzt ein RaspberryPi oder Dialogue: 0,0:11:42.25,0:11:47.11,Default,,0000,0000,0000,,einen großen Rechner nimmt. Viel bei\NAnsible ist Ausprobieren, Warten, Failen, Dialogue: 0,0:11:47.11,0:11:56.74,Default,,0000,0000,0000,,noch mal ausprobieren. Und, ja, ansonsten\Nwäre ich jetzt durch. Wenn Fragen sind, Dialogue: 0,0:11:56.74,0:12:01.38,Default,,0000,0000,0000,,könnt ihr gerne auch noch Fragen stellen.\NHerald: Erstmal einen warmen Applaus bevor Dialogue: 0,0:12:01.38,0:12:04.69,Default,,0000,0000,0000,,wir hier irgendwie mit\NFragen anfangen, weil … Dialogue: 0,0:12:04.69,0:12:08.03,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:12:08.03,0:12:13.02,Default,,0000,0000,0000,,Herald: So, es werden sich ja gleich hier\Nlinks und rechts die Lampen zum Dialogue: 0,0:12:13.02,0:12:18.28,Default,,0000,0000,0000,,Telefonjoker eröffnen, das heißt, wer\NFragen hat, gerne dort. Wo kann man dich Dialogue: 0,0:12:18.28,0:12:22.20,Default,,0000,0000,0000,,erreichen, wenn man jetzt irgendwie Blut\Ngeleckt hat, mit dem was du hier gemacht Dialogue: 0,0:12:22.20,0:12:26.47,Default,,0000,0000,0000,,hast, dass man während des Congress noch\Nmal auf dich zukommt, in welchem … Dialogue: 0,0:12:26.47,0:12:29.13,Default,,0000,0000,0000,,Heiko: auf dem Congress, ich renn\Neigentlich immer rum Dialogue: 0,0:12:29.13,0:12:31.54,Default,,0000,0000,0000,,Herald: Stehst unter deinen\NNamen im DECT-System? Dialogue: 0,0:12:31.54,0:12:36.15,Default,,0000,0000,0000,,Heiko: Ja, ich stehe unter meinem Namen im\NDECT-System. Die Slides werde ich auch Dialogue: 0,0:12:36.15,0:12:40.63,Default,,0000,0000,0000,,gleich dann by Chaos-West beim Talk noch\Nhinzufügen, wer sie sich noch mal angucken Dialogue: 0,0:12:40.63,0:12:45.15,Default,,0000,0000,0000,,will. Und in den Slides steht auch später\Nnoch der Link zum GitHub-Repo mit den Dialogue: 0,0:12:45.15,0:12:47.94,Default,,0000,0000,0000,,Slides selber.\NHerald: Ja, das ist ja vorbildlich! Da Dialogue: 0,0:12:47.94,0:12:51.64,Default,,0000,0000,0000,,würde ich sagen volle Punktzahl, keine\NFragen mehr, an der Stelle dann aber Dialogue: 0,0:12:51.64,0:12:55.16,Default,,0000,0000,0000,,nochmal ein Applaus, weil so einfach\Nlassen wir keinen von der Bühne gehen. Dialogue: 0,0:12:55.16,0:12:57.68,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:12:57.68,0:13:03.53,Default,,0000,0000,0000,,{\i1}Abspannmusik{\i0} Dialogue: 0,0:13:03.53,0:13:25.00,Default,,0000,0000,0000,,Untertitel erstellt von c3subtitles.de\Nim Jahr 2020. Mach mit und hilf uns!