DevOps und Red Hat Openshift Eine Traumkombination · DevOps Goodies -Teil II –Metrics/Monitoring...

Preview:

Citation preview

Eine TraumkombinationDevOps und Red Hat Openshift

© SEVEN PRINCIPLES AG 1

$ whoami

2

Jochen Schneider

1997-2000: Software Entwickler – Trescom 2000-2011: Network Designer/Technical Architect – Telefónica Deutschland (https://telefonica.de)

Seit 2012: Senior Consultant - Seven Principles AG (https://7p-group.com)

Momentan als externer DevOps Engineer/Architect für Openshift bei T-Systems (AppAgile).

Das Integrationsproblem

3

Applikationen erfordern komplizierte Installations- und Konfigurationsprozeduren für jedes Deployment.

Applikation

Betriesbssystem

Library Library Config

Dev

Ops

Kernel

Das Zielproblem

4

Neue ArchitekturenNeue Frameworks

Neue Tools

SicherheitStabilitätKosten

Neue ArchitekturenNeue Frameworks

Neue Tools

Container als Lösung für das Integrationsproblem

5

Applikation

Library Library Config

Container

Was sind Container

Infrastruktur-Sicht

• isolierte Anwendungsprozesse auf einem gemeinsamen Linux Kernel

• portabel zwischen verschiedenen Umgebungen• leichter, einfacher und effizienter als virtuelle

Maschinen

Applikations-Sicht

• Paket mit Anwendung und allen Abhängigkeiten• einfach zu verteilen• vereinfacht CI/CD

6

Die Lösung für das Zielproblem

7

Applikation A

Library Library Config

Applikation B

Library Library Config

Betriesbssystem

System Library System Library System Config

Kernel

Dev

Ops

Container Deployment verringert die Reibungsverluste zwischen Dev und Ops

Probleme gelöst?

8

$ docker build –t app:v1 $ docker run app:v1

Developer Operations

physikalische Server

virtuelle Server

private Cloud

publicCloud

Probleme gelöst?

9

Wir brauchen mehr als nur Container

• Scheduling• Wo und wann sollen Container laufen?

• Discovery• Wo laufen aktuell gerade Container im Netzwerk?

• Monitoring• Überwachung der Applikations-Container

• Security• Wer darf was mit den Containern tun?

• Scaling• Anpassung der Instanzen an die Lastsituation

• Persistence• Speichern von Daten über den Container

Lebenszyklus hinaus• Aggregation• Applikationen aus mehreren (verschiedenen)

Containern• Lifcycle Management• Applikationen sollen tolerant für Container-Fehler

laufen.

10

DevOps mit Containern und Kubernetes

11

Health

Lifecycle

DiscoveryScheduling

Scaling

Aggregation

PersistenceSecurity

Kubernetes

Nein, wir brauchen noch …

• Networking• SDN, Overlay Network, Flat, Multi-Tenancy, Policy based

• Image Registry• Repository für Images, SSO, RBAC, High Availability, Docker kompatibel

• Logging• Zentral, automatisiert, Zero-Conf

• Rollenbasierte Autorisierung• OAuth

• Self Service Portal• Team basiert, Web-based

• Image Build Automatisierung• Jenkins Integration

Ist das alles?

12

Die integrierte Platform

13

Openshift – The Big Picture

14

Openshift Komponenten

Version 0.1 (08.12.2016)intern | freigegeben © SEVEN PRINCIPLES AG 15

Delivery Prozess in Openshift

16

EFK Stack

• Apps senden Log-Output einfach an STDOUT/STDERR• Fluentd sammelt die STDOUT/STDERR Meldungen aller Container ein• Elasticsearch speichert die Messages• Kibana bietet ein Web-GUI für die Suche und Analyse der Logs

• Volle Unterstüzung der Openshift Access-Controls• Kein Konfigurationsaufwand für Developer und Operations

DevOps Goodies – Teil I – EFK Stack

17

DevOps Goodies - Teil II – Metrics/Monitoring mit Prometheus

Prometheus (https://prometheus.io)

• Sammelt von Apps und Komponenten Performance Daten ein

• Läuft selbst als Container auf dem Openshift Cluster• Metric Exporter für Datenbanken, Libraries und

Frameworks existieren zahlreich.• Dashboards werden mit Grafana erzeugt.• Aus den Metriken lassen sich natürlich auch Alerts

erzeugen.• Konfigurationsaufwand sehr gering• Ein Zeile in der App Definition reicht

• Byebye Nagios…• Die Komponenten der Openshift Platform und der Linux

Nodes werden mit überwacht.

18

• Openshift Online• Bei Red Hat gehostete Umgebung (kostenlos mit begrenztem Funktionsumfang)

• Lokales Cluster• Lokale Docker Installation• ’oc’ Kommandozeilen Client (https://github.com/openshift/origin/blob/master/docs/cluster_up_down.md)• `$ oc cluster up` und die Platform läuft.• wirklich

Openshift ausprobieren?

19

SEVEN PRINCIPLES AG | Erna-Scheffler-Straße 1a | 51103 Köln | Tel.: +49 (0) 22 1 92 007 - 0 | info@7p-group.com | www.7p-group.com

20

Recommended