Ansible: der neue Standard der Automatisierungstechnik im Cloud Computing

21.12.2016 von Frank Klöker

Das Automatisierungstool Ansible existiert schon einige Jahre, hat seine Popularität in den letzten zwei Jahren aber extrem gesteigert. Damit ist es zum Standard der Automatisierungstechnik im Cloud Computing avanciert. Doch wie kam es dazu?

In diesem Artikel lesen Sie:

  • mehr zum Funktionsumfang des Automatisierungstools Ansible.
  • wie Sie Ansible verwenden können.
  • welche Rolle Ansible fĂĽr die Open Telekom Cloud spielt.
  • wo Sie Quellcodes zum OpenStack-Projekt einsehen können.

Ansible: Automatisierung fĂĽr jeden 

„Automatisierung für jeden“ – so wirbt die Webseite www.ansible.com für den Einsatz des Tools. Verwendet werden kann dieses für Konfigurationsmanagement, Rechnerverwaltung, Softwareverteilung oder nur zum Ausführen einzelner Kommandos. Dabei kommt es auf den Zielsystemen ohne jegliche Konfiguration oder Installation von Agenten aus – ein simpler Zugriff per Security Shell (ssh) genügt.
Ermöglicht wird dies durch Module, die aus dem Werkzeug eine ganze Werkzeugkiste machen. Im Softwarepaket von Ansible, das der Administrator auf seiner Workstation installieren kann, sind schon sogenannte Core-Module enthalten. Diese stellen Kernfunktionalitäten in Ansible bereit. Das sind zum Beispiel Shell-Aufrufe auf dem entfernten System oder das Agieren mit einer API ĂĽber eine REST-Schnittstelle. Mit den Cloud-Modulen kann man Ressourcen beliebiger Cloud-Systeme ansteuern wie etwa Amazon Web Services, Microsoft Azure und OpenStack . Doch wie funktioniert das im Detail?

Arbeiten mit Ansible – so geht’s 

Die durchzuführenden Aufgaben werden in sogenannten Tasks beschrieben. Ein Task kann zum Beispiel sein: „Logge dich auf allen Rechnern ein und schaue nach, welche Kernel-Version installiert ist.“
Mehrere Tasks werden in Playbooks zusammengefasst. Das vollautomatische Update-System besteht zum Beispiel aus einem Playbook, das die neuesten Paketversionen vom Repository bezieht, diese installiert und bei Bedarf den Rechner neu bootet. Die genutzten Kernmodule von Ansible sind hier „apt“, „file“ und „shell“, alle beschrieben auf der umfangreichen Online-Dokumentation.
Zielsysteme werden in sogenannten Inventories zusammengefasst. Das kann zum Beispiel eine einfache Textdatei mit der Liste aller Rechnernamen sein, die man verwalten möchte. Es gibt aber auch dynamische Inventory-Scripte wie openstack.py, das die Rechnerliste bei jedem Aufruf automatisch zusammenstellt. Der Aufruf des Playbooks erfolgt mit dem Kommando „ansible-playbook“. Danach werden die einzelnen Tasks darin abgearbeitet.
Eine weitere Möglichkeit sind sogenannte Roles. Diese werden mit dem Dienst „Ansible-Galaxy“ bereitgestellt. Roles beinhalten generische Tasks, die in einem Playbook direkt angesprochen werden können. Ein Beispiel hierfür ist die Rolle „mysql-server“, die auf dem Zielsystem MySQL installiert, konfiguriert und startet.

Und wie hängt Ansible mit der Open Telekom Cloud zusammen?

Ansible und die Open Telekom Cloud 

Wie oben bereits erwähnt, entwickelt sich Ansible insbesondere in der Cloud zum Standard fĂĽr Automatisierungstechnik. Brad Topol (Distinguished Engineer bei IBM) wählte zusammen mit seinem Team aus unterschiedlichen Firmen mit verschiedenen Cloud-Produkten Ansible als Werkzeug, um auf dem OpenStack Summit in Barcelona  mit demselben Playbook in einer Interoperability Challenge gegeneinander anzutreten. Aufgabe war es, auf einer Cloud eine Applikation wie Wordpress oder LAMP zu installieren. Unsere Kollegin Daniela Ebert zeigte dies auf der Open Telekom Cloud.

Ansible: der neue Standard der Automatisierungstechnik im Cloud Computing
Ansible wird auf dem OpenStack Summit in Barcelona eingesetzt

OpenStack: Quellcodes sind frei zugänglich 

Wie alles beim OpenStack-Projekt kann auch dieser Quellcode online betrachtet und selbst ausprobiert werden. Die Basis fĂĽr das verwendete Playbook ist das OpenStack Cloud-Modul von Ansible. Exemplarisch hier die Funktion zum Erstellen einer virtuellen Maschine:

os_server:
state: "present"
auth: "{{ auth }}"
region_name: "{{ app_env.region_name }}"
availability_zone: "{{ app_env.availability_zone }}"
validate_certs: "{{ app_env.validate_certs }}"
name: apache-{{ item }}
image: "{{ app_env.image_name }}"
key_name: "lampstack"
timeout: 200
flavor: "{{ app_env.flavor_name }}"
network: "{{ app_env.private_net_name }}"
floating_ip_pools: "{{ app_env.public_net_name | default(omit) }}"
userdata: "{{ lookup('file', 'templates/userdata.j2') }}"
config_drive: "{{ app_env.config_drive | default('no') }}"
security_groups: lampstack_sg
meta:
hostname: apache-{{ item }}
with_sequence: count={{ app_env.stack_size - 2 }}
register: webserver

Wer mehr Interaktion mit der Open Telekom Cloud API möchte, kann sich in der Online-Dokumentation zum Fortschritt der Implementierung informieren. Möglichkeiten der Nutzung zeigt ansible-otc, eine Sammlung von Ansible-Rollen, die Ressourcen in der Open Telekom Cloud anzeigt oder erstellt.

AbschlieĂźend sei noch auf das kostenlose Einsteiger-Seminar (englisch) von Ansible verwiesen:

www.ansible.com/webinars-training/training-introduction-to-ansible

Termine finden ab dem 08. Dezember 2016 alle zwei Wochen statt. Grundkenntnisse in Linux sind erforderlich.


Auf einen Blick: die Vorteile der Open Telekom Cloud

  • Sicherheit: Die Daten werden in hochsicheren Rechenzentren der Telekom in Deutschland gehostet.
  • Skalierbarkeit: Rechenleistung und Speicher können in wenigen Augenblicken online bestellt, eingerichtet und jederzeit flexibel angepasst werden.
  • Preismodelle: Wir bieten Ihnen flexible und feste Vertragslaufzeiten und auch eine Kombination aus beiden Modellen.
  • Kein Vendor Lock-in: Die Open Telekom Cloud basiert auf OpenStack, einem offenen Open-Source-Standard. Sie können den Anbieter jederzeit wechseln.
  • Individuelle Konfiguration: CPU, RAM, Storage, Netzwerk – stellen Sie sich ein Angebot zusammen, das Ihren Anforderungen optimal entspricht.
  • IaaS fĂĽr alle: Die Open Telekom Cloud ist hochgradig flexibel und daher fĂĽr Unternehmen jeder Größe geeignet.

Open Telekom Cloud

Konfigurieren Sie jetzt Ihre persönliche Open Telekom Cloud!

Konfiguration starten

Frank Klöker arbeitet als Technology Manager Cloud Applications bei der Deutschen Telekom in Berlin. Er initiierte das Projekt „Cloud-Kindergarten“, das Azubis und Studenten an die OpenStack-Cloud-Plattform heranfĂĽhren soll. Klöker engagiert sich seit vielen Jahren ehrenamtlich in PrĂĽfungsausschĂĽssen fĂĽr der IHK. Zudem betreut er bei der Telekom Auszubildende und Studierende in seinem Bereich.

Kategorien

  • Cloud-Infrastruktur
  • Open Telekom Cloud
  • OpenStack