Optimales Namensschema

Beim Namensschema gehen die Meinungen stark auseinander. Auf der einen Seite findet man kryptische, aber systematische Hostnamen mit einer Vielzahl an Abkürzungen, auf der anderen Seite zufällig gewählte Namen ohne System. Daher möchten wir Ihnen hier die Best Practices für eine Puppet basierte Infrastruktur vorstellen.

web01.prod.project.location.enteksystems.site

Dieser Hostname mag auf den ersten Blick etwas lang erscheinen. Bei der Verwendung von Puppet ist dies allerdings kein Problem. Es lässt sich auf den ersten Blick erkennen, welchem Zweck das System dient (Webserver), welchen Status es besitzt (Produktion) und in welchem Rechenzentrum die Maschine läuft.

Zusätzlich ist mit dem Projekt eine Info vorhanden, zu welchem Projekt oder Produkt bzw. Kunden das System gehört.

Rollen

  • web: Web Server
  • app: Application Server
  • db: Datenbank Server
  • ftp: FTP Server
  • mta: Mailserver
  • dns: DNS Server
  • cfg: Konfigurations Server (z.B. Puppet)
  • mon: Monitoring Server (z.B. Nagios, Icinga)
  • prx: Proxy Server
  • sto: Storage Server (z.B. im SAN)
  • vcs: Versionskontroll Server (z.B. Git, SVN)

Umgebung

  • prod: Produktion
  • test: Test
  • staging: Staging
  • dev: Entwicklung

Mit diesem Namensschema gibt es nun zwei Möglichkeiten wie wir die Zuweisung der Klassen durchführen

  • web[01-99].prod: Einstellungen für einen produktiven Webserver
  • web[01-99].prod.project: Einstellungen für einen produktiven Webserver mit Projekt- oder kundenspezifischen Anpassungen / Feinheiten.

Hier hängt die Entscheidung von der geplanten oder bisherigen Konfiguration Ihrer Systemlandschaft ab. Wir nutzen Schema 1 für Test- und Entwicklungssysteme. Schema 2 findet bei produktiven Systemen Einsatz, da hier häufig kundenspezifische Anpassungen (z.B. SSL Zertifikate, Benutzer, etc.) notwendig sind.

Diese Namen kann man sich doch nicht merken?

Auch für dieses Problem gibt es eine Lösung. Um den Kunden bzw. seinen Administratoren das Leben zu erleichtern sollte für wichtige Systeme ein Alias Eintrag im DNS Server eintragen werden (CNAME). Vor allem bei Kundensystemen sollte man den echten Namen hinter einem CNAME verbergen. So empfiehlt es sich auch den Puppet Master (cfg01.prod.infrastructure.haibach.enteksystems.site) als puppet.enteksystems.site verfügbar

zu machen.