Ansible, so einfach!

Konfigurationsmanagement in Rechenzentren ist aus der modernen “DevOps” IT nicht mehr wegzudenken. Puppet, Chef, Salt oder Ansible automatisieren Umgebungen von mittelständischen Unternehmen bis hin zu Weltkonzernen.
Wenn wir die verschiedenen Lösungen betrachten, bedienen sie sich alle einer eigenen Sprache, diese soll möglichst einfach unsere Infrastruktur abbilden. (“infrastructure as a code”)
Da nicht jeder Admin im Tagesgeschäft programmiert, kann so eine Sprache ein Hindernis werden und Arbeitsschritte vielleicht verkomplizieren.
Seit einiger Zeit beschäftige ich mit Ansible, ein Tool welches ohne vorinstallierte Clients arbeitet und eine Konfiurationsprache basierend auf YAML nutzt.
Um Ansible zu nutzen muss lediglich eine SSH Verbindung, ein Benutzer mit Rootrechten und ein Inventarfile bestehen.
Das Sprache im YAML Format ist für jeden leicht lesbar und sofort verständlich.
Ansible kann entweder lokal auf dem Arbeitsrechner oder auf einem sogenannten “Managementnode” über bereitgestellte Pakete installiert werden.
Unter “/etc/ansible/” legen wir nach der Installation zusätzlich ein Inventar an.

$ cat /etc/ansible/hosts
host01.localdomain ansible_ssh_host=10.10.10.11
host02.localdomain ansible_ssh_host=10.10.10.12</pre lang="bash">

Wenn Ansible installiert und ein Inventarfile erstellt wurde, kann die Verbindung zum Server mit dem Modul “ping” getestet werden. Hierbei versucht Ansible den Server per SSH zu erreichen und einzuloggen.

$ ansible host01.localdomain -m ping
host01.localdomain | success >> {
"changed": false,
"ping": "pong"
}</pre lang="bash">

Alternativ kann statt dem Hostalias auch “all” gesetzt werden um alle Hosts aus dem Inventar zu prüfen.

$ ansible all -m ping</pre lang="bash">

Ansible bietet zahlreiche Module mit denen Pakete installiert, Dateien kopiert oder bearbeitet werden können. Hier findet ihr eine Übersicht aller Module
Tasks verwenden diese Module um die Arbeitsschritte in Playbooks oder Rollen auszuführen.
Beispiel eines Playbooks:

$ cat ansible_starter.yml
---
- hosts: all <- Führe die Tasks auf allen Hosts aus
  tasks:
    - name: say hello to everyone <- Name des Tasks
      debug:                      <- Name des Moduls
        msg: "Hello World"        <- Parameter des Moduls

– name: install ntp
yum:
name: ntp
state: installed
</pre lang=”yaml”>

$ ansible-playbook -s ansible_starter.yml
</pre lang="bash">
Diese Task werden der Reihenfolge nach auf dem Zielhost ausgeführt und damit haben wir schon eine kleine Automation geschaffen. Probiert's aus!

Da Ansible im Sturm mein Automationsherz erobern konnte war ich mit meinem Kollegen dieses Jahr auf dem Ansible Fest in London, einen Erfahrungsbericht der Veranstaltung findet ihr hier.

Thilo Wening
Thilo Wening
Senior Consultant

Thilo hat bei NETWAYS mit der Ausbildung zum Fachinformatiker, Schwerpunkt Systemadministration begonnen und unterstützt nun nach erfolgreich bestandener Prüfung tatkräftig die Kollegen im Consulting. In seiner Freizeit ist er athletisch in der Senkrechten unterwegs und stählt seine Muskeln beim Bouldern. Als richtiger Profi macht er das natürlich am liebsten in der Natur und geht nur noch in Ausnahmefällen in die Kletterhalle.

Request Tracker Starterpakete verfügbar

rt_centred_200x100 Seit vielen Jahren setzen wir nun bei uns intern die Ticket Lösung Request Tracker ein und bieten hierfür Dienstleistungen im Bereich Konzeptionierung, Einrichtung, Entwicklung und Support an.
Um einen kostengünstigen und vereinheitlichten Einstieg in die Open Source Ticketlösung zu ermöglichen, haben wir unser Portfolio in diesem Zuge um zwei Starterpakete erweitert. Somit kann ohne große finanzielle Vorleistungen ein Basissetup aufgebaut werden, welches als Test- und Reviewumgebung dient. Ein späterer Ausbau bzw. eine Erweiterung kann im Vorfeld natürlich berücksichtigt werden, sollte die Ticketlösung Produktiv genommen werden.
Im Standard-Paket sind hierbei folgende Leistungen zum Festpreis beinhaltet:

  • Grundinstallation des Request Trackers auf Debian / Ubuntu / CentOS
  • Anbindung an ein Mail-System per SMTP-Transport oder Fetch-Mail
  • Anbindung an einen ActiveDirectory / LDAP-Dienst
  • Beispielhafte Einrichtung von Queues und Benutzern
  • Beispielhafte Einrichtung von Berechtigungen
  • Grundeinführung in die Bedienung der Oberfläche

Für das Premium-Paket gibt es weiterführende Leistungen, wie bspw. Anbindung externer Datenquellen, Customizing und RT-Assets:

  • Anbindung Externer Datenquellen per Schnittstellen (API, Soap, Sql)
  • Grundeinrichtung und Einführung in RT Assets
  • Customizing von Templates und Articles
  • Konfiguration von Lifecycles, Status, SLA’s

Wer sich allgemein über den Request Tracker informieren möchte, kann dies mit unserer Übersichtsseite Warum Request Tracker oder unserem RT Webinar tun.
Selbstverständlich stehen wir bei Rückfragen natürlich zur Verfügung und bieten weiterführende Dienstleistungen und Workshops für Projekte an. Nehmen Sie hierfür einfach direkt Kontakt mit uns auf.

Christian Stein
Christian Stein
Lead Senior Account Manager

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Neu im NETWAYS Portfolio – Puppet Starterpaket

Puppet_LogoBei Puppet handelt es sich um ein OpenSource Konfigurationsmanagement System, welches vom amerikanischen Unternehmen PuppetLabs entwickelt wird.
Puppet bietet den Vorteil, Administratoren bei z.B. regelmäßigen Aufgaben wie Paketinstallation, Serverinstallationen oder Konfigurationsänderungen zu entlasten.
Das gesuchte Stichwort heißt: Automatisierung.
Um Unternehmen beim Einstieg in die Puppet-Welt zu unterstützen, bieten wir seit einiger Zeit das Puppet Starterpaket in zwei Varianten an:
Puppet Starterpaket Standard
Dieses Paket besteht aus einem 4-Tages-Workshop mit einem unserer Puppet-Consultants, welcher eine Evaluierung einer vorhanden IT-Umgebung vornimmt und anschließend eine mögliche Konzeptionierung aufzeigt, um Puppet erfolgreich zu implementieren. Anschließend wird der Puppet-Master sowie ein Versionskontrollsystem (z.B. SVN, Git, etc.) installiert, um Änderungen an den Puppet-Modulen nachzuvollziehen. Für einen noch besseren Einstieg, werden zusätzlich einige Beispielmodule erstellt, welche im späteren Verlauf natürlich weiter angepasst werden können.
Puppet Starterpaket Premium
Für komplette Einsteiger im Puppet-Bereich, die bisher noch keine persönlichen Berührungspunkte hatten, bieten wir im Premium-Starterpaket zusätzlich zu den 4 Workshop-Tagen noch 3 Tage Vor-Ort Schulung für 3 Teilnehmer an (weitere Teilnehmer gegen Aufpreis möglich).
Die Schulungsinhalte werden 1:1 von unserer Puppet Fundamentals-Schulung übernommen, inkl. Schulungsnotebooks, Schulungsunterlagen sowie ein Teilnehmerzeugnis.
Je nachdem wie komplex die Umgebung und die jeweiligen Anforderungen an das Puppet-System sind, können folgende Themen im Rahmen des Workshops noch mit aufgenommen werden:

  • Einrichtung von Foreman
  • Einrichtung der PuppetDB
  • Anbindung von externen Datenquellen

Selbstverständlich unterstützen wir auch bei individuellen Anfragen zum Thema Puppet oder beim Betrieb einer bereits vorhanden Puppet-Umgebung, auf Basis unserer Supportverträge oder von Consulting-Dienstleistungen.
Für einen persönlichen Kontakt stehen wir ebenfalls sehr gerne zur Verfügung – weitere Details für eine Kontaktaufnahme sind in unserem Kontaktformular zu finden!

Christian Stein
Christian Stein
Lead Senior Account Manager

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".