Upload
others
View
1
Download
0
Embed Size (px)
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 | [email protected] | www.7p-group.com
20