Jeden Samstag das Neueste aus Computertechnik und Informationstechnologie. Beiträge, Reportagen und Interviews zu IT-Sicherheit, Informatik, Datenschutz, Smartphones, Cloud-Computing und IT-Politik. Die Trends der IT kompakt und informativ.
…
continue reading
Inhalt bereitgestellt von Jochen Wersdörfer / Dominik Geldmacher. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Jochen Wersdörfer / Dominik Geldmacher oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Player FM - Podcast-App
Gehen Sie mit der App Player FM offline!
Gehen Sie mit der App Player FM offline!
Ansible
Manage episode 337420726 series 2536516
Inhalt bereitgestellt von Jochen Wersdörfer / Dominik Geldmacher. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Jochen Wersdörfer / Dominik Geldmacher oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Ansible (click here to comment)
, Jochen
Shownotes
Unsere E-Mail für Fragen, Anregungen & Kommentare: hallo@python-podcast.de
News aus der Szene
- Django 4.1 released
- Pydantic2
- EuroPython 2022
- Build a production ready GraphQL API using Python - Strawberry
- Norvig's lispy: beautiful and illuminating Python code
- Python's role in unlocking the secrets of the Universe with the James Webb Space Telescope
- The Design of Everyday APIs
- Using python to predict Asset price reversals
- How To Train Your Graphics Card (To Read)
- How we are making Python 3.11 faster
- Robyn: An async Python web framework with a Rust runtime
- Multithreaded Python without the GIL
- Let's talk about JWT
- `typing.Protocol`: type hints as Guido intended
- Super Search with OpenSearch and Python
Ansible
- Ansible ist ein Werkzeug zum managen von Servern. Benannt nach einen Science-Fiktion-Gerät, dass FTL-Kommunikation möglich macht (*Rocannon’s World*, by Ursula K Le Guin, 1966). Wird seitdem auch von anderen Authoren in ihren Werken genutzt.
- Terraform
- Jinja
- archlinux
- Debian “bullseye”
- Jeff Geerling (geerlingguy)
- NixOS
- docker
- poetry
- #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets
- The twelve-factor app
Picks
Notizen von Max (vielen Dank dafür!)
- Ansible ist ein Werkzeug zum managen von Servern.
- Benannt nach einen Science-Fiktion-Gerät, dass FTL-Kommunikation möglich macht (*Rocannon’s World*, by Ursula K Le Guin, 1966). Wird seitdem auch von anderen Authoren in ihren Werken genutzt.
- Ansible wurde 2015 von Redhat gekauft, vorher Ansible Inc.
- Deklarativ, man sagt also was man haben möchte und Ansible setzt es dann um
- Idempotent, man kann alles beliebig oft wiederholen ohne negativen Effekt und man landet dann in seinem deklarierten Zustand
- Aufbau
- Eigentlich wirft Ansible die Befehle in paramiko, einer SSH Lib für Python, und sagt ssh.exec_command(command). Heute ist alles natürlich komplizierter, aber wenn man sich den ersten Commit zu Ansible ansieht
- Inventory
- Hier zieht Ansible sich die Informationen heraus, welche Server bearbeitet werden sollen. Hier kann man dann auch Gruppiern und schon ein paar Variablen deklarieren
- Statisches Inventory
- Eine yml-Datei oder INI-Datei in der man seine Server bzw. IPs zu den Servern einträgt
- Dynamisches Inventory
- Hier kann man seinen Cloudprovider anzapfen oder auch LDAP und weiteres. Hierzu hat man Inventory-Plugins: darunter sind AWS, Docker, Kubernetes, Proxmox, Hetzner DNS -> `ansible-doc -t inventory -l`
- Playbook
- Enthalten die Beschreibung, was mit den Hosts im Inventory passieren soll, dazu greifen diese auf Plays zurück.
- Änlich wie Runbooks oder Checklisten die abzuarbeiten sind, nur automatisch
- Plays
- Hier wird beschrieben was ausgeführt werden soll und auf welchem Host das passieren soll
- Plays haben Jinja2 support - Yeah!
- Loopen mit `with_items` und dann {{ item.src }} o.ä
- Tasks
- Eine Aktion die in einem Play passiert
- Handlers
- Tasks die von vorherigen Tasks ausgeführt werden, sofern diese den Status auf dem Server geändert hat ('changed')
- Role
- Eine Sammlung von Tasks, Variablen, Plugins, Templates und Dateien, die in ein Play importiert werden können
- Ansible Galaxy
- Stellt Sammlungen (Collections) von Playbooks aber auch Rollen zu Verfügung. Etwa Github / PyPI für Ansible
- Collections können per `ansible-galaxy` command installiert werden oder in einem `requirements.yml`-File hinterlegt werden und werden dann bei Ausführung des Playbooks heruntergeladen
- Privileges
- Ansible hat die Möglichkeit Tasks mit verschiedenen Privilegien, also Benutzeraccounts, auszuführen. Hierzu gibt es die `become`-Direktive. Der Default ist hier `root`. Das Sudo-Passwort kann mit der Flag `-K` abgefragt werden. Oder auch als Variable im Playbook übergeben werden. Um Variablen sicher zu speichern hat Ansible Vaults.
- Become und Windows - Zu einer Windowsmaschine kann man sich nur als Priveligierter User verbinden. Become wird hier nur genutzt um noch tiefere Privilegien zu bekommen (`System`) oder um den Nutzer zu wechseln.
- Best Practices
- Eigentlich wie immer: Verbindung zum Server hin nur mit einem unpreviligierten Account (ähäm Windows *räusper*)
- Nur mit den rechten Arbeiten, die man auch braucht - dass passiert eigentlich schon, wenn man mit einem unpriviligierten Account verbindet, denn dann muss man immer `become` unter den Task schreiben und mehr schreiben ist mehr Aufwand und deshalb überlegt man schon gleich zweimal ob man wirklich mehr Rechte braucht.
- Ansible Vault benutzen, wenn man mit Passwörtern und sonstigen Geheimnissen arbeitet
- Skalierung
- *Grillenzirpen* ... aja da gibt es Ansible Tower... wollte ich immer mal reinschauen, aber es ist sehr teuer wenn man es kauft und unmöglich aufzusetzen wenn man es selbst hosten möchte... schon etwas komisch, wenn man doch einfach ein Ansible Playbook schreiben könnte
- Unterschiedliche Betriebssysteme
- Linux/Unix und die verschiedenen Distributionen
- Hier muss darauf geachtet werden, dass man den richtigen Packagemanager erwischt und die Dateien am vermuteten Ort liegen. Mit `ansible_os_familiy` kann man dann über die`when` Direktive in unterschiedliche Entscheidungsbäume abgleiten
- Windows
- Hier wird anstelle SSH und der Shell PowerShell genutzt
- Network Automation
- Terraform und Ansible
- Terraform baut dir die Infrastruktur auf und Ansible konfiguriert dir diese. Dabei kann Ansible auch wieder Terraform aufrufen usw..
- ch will nie wieder zurück zu Bash, aber ich will etwas local laufen lassen: `#!/usr/bin/env ansible-playbook` und im Play:
```
---
- name: "Ansibel Local"
hosts: localhost
connection: local
tasks:
```
- Liste von Videotutorials
60 Episoden
Manage episode 337420726 series 2536516
Inhalt bereitgestellt von Jochen Wersdörfer / Dominik Geldmacher. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Jochen Wersdörfer / Dominik Geldmacher oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Ansible (click here to comment)
, Jochen
Shownotes
Unsere E-Mail für Fragen, Anregungen & Kommentare: hallo@python-podcast.de
News aus der Szene
- Django 4.1 released
- Pydantic2
- EuroPython 2022
- Build a production ready GraphQL API using Python - Strawberry
- Norvig's lispy: beautiful and illuminating Python code
- Python's role in unlocking the secrets of the Universe with the James Webb Space Telescope
- The Design of Everyday APIs
- Using python to predict Asset price reversals
- How To Train Your Graphics Card (To Read)
- How we are making Python 3.11 faster
- Robyn: An async Python web framework with a Rust runtime
- Multithreaded Python without the GIL
- Let's talk about JWT
- `typing.Protocol`: type hints as Guido intended
- Super Search with OpenSearch and Python
Ansible
- Ansible ist ein Werkzeug zum managen von Servern. Benannt nach einen Science-Fiktion-Gerät, dass FTL-Kommunikation möglich macht (*Rocannon’s World*, by Ursula K Le Guin, 1966). Wird seitdem auch von anderen Authoren in ihren Werken genutzt.
- Terraform
- Jinja
- archlinux
- Debian “bullseye”
- Jeff Geerling (geerlingguy)
- NixOS
- docker
- poetry
- #309 – John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets
- The twelve-factor app
Picks
Notizen von Max (vielen Dank dafür!)
- Ansible ist ein Werkzeug zum managen von Servern.
- Benannt nach einen Science-Fiktion-Gerät, dass FTL-Kommunikation möglich macht (*Rocannon’s World*, by Ursula K Le Guin, 1966). Wird seitdem auch von anderen Authoren in ihren Werken genutzt.
- Ansible wurde 2015 von Redhat gekauft, vorher Ansible Inc.
- Deklarativ, man sagt also was man haben möchte und Ansible setzt es dann um
- Idempotent, man kann alles beliebig oft wiederholen ohne negativen Effekt und man landet dann in seinem deklarierten Zustand
- Aufbau
- Eigentlich wirft Ansible die Befehle in paramiko, einer SSH Lib für Python, und sagt ssh.exec_command(command). Heute ist alles natürlich komplizierter, aber wenn man sich den ersten Commit zu Ansible ansieht
- Inventory
- Hier zieht Ansible sich die Informationen heraus, welche Server bearbeitet werden sollen. Hier kann man dann auch Gruppiern und schon ein paar Variablen deklarieren
- Statisches Inventory
- Eine yml-Datei oder INI-Datei in der man seine Server bzw. IPs zu den Servern einträgt
- Dynamisches Inventory
- Hier kann man seinen Cloudprovider anzapfen oder auch LDAP und weiteres. Hierzu hat man Inventory-Plugins: darunter sind AWS, Docker, Kubernetes, Proxmox, Hetzner DNS -> `ansible-doc -t inventory -l`
- Playbook
- Enthalten die Beschreibung, was mit den Hosts im Inventory passieren soll, dazu greifen diese auf Plays zurück.
- Änlich wie Runbooks oder Checklisten die abzuarbeiten sind, nur automatisch
- Plays
- Hier wird beschrieben was ausgeführt werden soll und auf welchem Host das passieren soll
- Plays haben Jinja2 support - Yeah!
- Loopen mit `with_items` und dann {{ item.src }} o.ä
- Tasks
- Eine Aktion die in einem Play passiert
- Handlers
- Tasks die von vorherigen Tasks ausgeführt werden, sofern diese den Status auf dem Server geändert hat ('changed')
- Role
- Eine Sammlung von Tasks, Variablen, Plugins, Templates und Dateien, die in ein Play importiert werden können
- Ansible Galaxy
- Stellt Sammlungen (Collections) von Playbooks aber auch Rollen zu Verfügung. Etwa Github / PyPI für Ansible
- Collections können per `ansible-galaxy` command installiert werden oder in einem `requirements.yml`-File hinterlegt werden und werden dann bei Ausführung des Playbooks heruntergeladen
- Privileges
- Ansible hat die Möglichkeit Tasks mit verschiedenen Privilegien, also Benutzeraccounts, auszuführen. Hierzu gibt es die `become`-Direktive. Der Default ist hier `root`. Das Sudo-Passwort kann mit der Flag `-K` abgefragt werden. Oder auch als Variable im Playbook übergeben werden. Um Variablen sicher zu speichern hat Ansible Vaults.
- Become und Windows - Zu einer Windowsmaschine kann man sich nur als Priveligierter User verbinden. Become wird hier nur genutzt um noch tiefere Privilegien zu bekommen (`System`) oder um den Nutzer zu wechseln.
- Best Practices
- Eigentlich wie immer: Verbindung zum Server hin nur mit einem unpreviligierten Account (ähäm Windows *räusper*)
- Nur mit den rechten Arbeiten, die man auch braucht - dass passiert eigentlich schon, wenn man mit einem unpriviligierten Account verbindet, denn dann muss man immer `become` unter den Task schreiben und mehr schreiben ist mehr Aufwand und deshalb überlegt man schon gleich zweimal ob man wirklich mehr Rechte braucht.
- Ansible Vault benutzen, wenn man mit Passwörtern und sonstigen Geheimnissen arbeitet
- Skalierung
- *Grillenzirpen* ... aja da gibt es Ansible Tower... wollte ich immer mal reinschauen, aber es ist sehr teuer wenn man es kauft und unmöglich aufzusetzen wenn man es selbst hosten möchte... schon etwas komisch, wenn man doch einfach ein Ansible Playbook schreiben könnte
- Unterschiedliche Betriebssysteme
- Linux/Unix und die verschiedenen Distributionen
- Hier muss darauf geachtet werden, dass man den richtigen Packagemanager erwischt und die Dateien am vermuteten Ort liegen. Mit `ansible_os_familiy` kann man dann über die`when` Direktive in unterschiedliche Entscheidungsbäume abgleiten
- Windows
- Hier wird anstelle SSH und der Shell PowerShell genutzt
- Network Automation
- Terraform und Ansible
- Terraform baut dir die Infrastruktur auf und Ansible konfiguriert dir diese. Dabei kann Ansible auch wieder Terraform aufrufen usw..
- ch will nie wieder zurück zu Bash, aber ich will etwas local laufen lassen: `#!/usr/bin/env ansible-playbook` und im Play:
```
---
- name: "Ansibel Local"
hosts: localhost
connection: local
tasks:
```
- Liste von Videotutorials
60 Episoden
Alle Folgen
×Willkommen auf Player FM!
Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.