OpenStack

OpenStack ist eine Software Plattform für Infrastructure as a Service (IaaS) Anbieter. OpenStack erlaubt es Ressourcen wie Prozessorleistung, Datenspeicher und Netzwerk in einem Rechenzentrum zu verwalten und den Kunden/Nutzern über eine webbasierte Oberfläche anzubieten. Dabei unterstützt OpenStack eine große Zahl von gängigen Protokollen und Technologien:

  • Virtualisierungssoftware wie KVM, XEN, LXC und Hyper-V
  • große Auswahl an Storage Technologien, vom lokalen USB-Device über iSCSI bis zu NetApp und CEPH
  • Zugriff über CLI, die Weboberfläche, die native OpenStack API oder die Amazon EC2 Kompatibilitäts-API
  • verschiedene Identity-Provider wie z.B. LDAP

So unterschiedlich die Rechenzentren sind, so unterschiedlich können auch die OpenStack Installationen aussehen. Um in dieser Vielzahl von Optionen nicht den Überblick zu verlieren setzen wir in dieser Schulung auf ein recht einfaches Trainings-Setup. An Hand dessen gehen wir Schritt für Schritt durch die einzelnen Komponenten und zeigen wie sich der Administrator innerhalb der OpenStack Architektur bewegen kann.

Voraussetzungen

Vorausgesetzt werden Grundlagen der Linux-Netzwerkadministration, wie sie z.B. in unserer Schulung Linux Netzwerkdienste vermittelt werden:

  • Installation von Netzwerkdiensten
  • Fehleranalyse in Client-Server Umgebungen

Sie sollten bereits Erfahrung mit Linux im Servereinsatz haben.

Inhalt

Einführung in das Thema Cloud Computing

  • Cloud-Modelle / Definition (PaaS, SaaS, IaaS)
  • Warum Cloud?
  • Historie von OpenStack
  • Projektziele
  • Projektstatus

Vorstellung der verwendeten Komponenten

  • Shared Services (AMQP, DB, NTP)
  • Identity service: Keystone
  • Compute service: Nova
  • Image service: Glance
  • Block storage service: Cinder
  • Dashboard: Horizon
  • Object storage: Swift
  • Telemetry service: Ceilometer
  • Alarming service: aodh
  • Orchestration service: Heat

Shared Services

  • NTP
  • AMQP (RabbitMQ)
  • MySQL als DB

Keystone

  • Installation
  • Konfiguration
  • Begriffserklärungen (Projects, Roles, User...)
  • Anlegen, Verwalten von Einträgen
  • Abfragen / Erhalt von Tokens
  • LDAP-Anbindung

Glance

  • Installation
  • Konfiguration
  • Upload eines Testimages

Compute

  • Architektur
  • Komponenten
  • Voraussetzungen und Hypervisor
  • Begriffe
  • Konfiguration (Keystone, Glance)

Neutron

  • Architektur
  • Network Namespaces
  • Installation
  • Konfiguration
  • Compute-Anbindung

Cinder

  • Definition
  • Volumes und Backends
  • Snapshots
  • Verschlüsselung
  • Administration

Erste Instanzen

  • Ablauf
  • Verwalten von Instanzen von der CLI
  • Hilfe zur Fehleranalyse

Horizon

  • Installation
  • Konfiguration
  • Nutzung

Swift

  • Eigenschaften
  • Architektur
  • Nutzung
  • Access Control Lists

Ceilometer

  • Komponenten
  • Architektur
  • Begriffe
  • Nutzung

Aodh

  • Eigenschaften
  • Architektur
  • Alarme
  • Nutzung

Heat

  • Definition
  • Komponenten und Architektur
  • Templates
  • Nutzung