CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Container Virtualisierung in Containern: ▶ Minimalisierung der Abhängigkeiten Container A Container B ▶ Anwendung 1 Anwendung 2 Mit Host geteilter Kernel ▶ Wenig Overhead Abhängigkeiten Abhängigkeiten ▶ 1 Container pro Funktion/Prozess Docker (Microservices) OS (Host) → Anwendungen aus mehreren Containern Infrastruktur #atix #CLT2018 #docker #kubernetes
Container Vorteile: ▶ Portabel ▶ Schnell ▶ Skalierbar ▶ Ef ziente Hardwarenutzung VMs vs Container Pets vs Cattle Container ̸= Docker Alternative: z.B. rkt #atix #CLT2018 #docker #kubernetes
Entwicklung der Server Anwendung App App App App App App Abhängigkeiten Libs Libs Libs Libs Libs Libs Libs Containercluster Operating OS OS OS OS System Hypervisor Hypervisor Hardware Hardware Hardware #atix #CLT2018 #docker #kubernetes
Ein Container kommt selten allein Limits für einzelnen Docker-Host: ▶ Anzahl der Container ▶ Lastverteilung (Skalierung) ▶ Automatisierung → Erweiterung der Infrastruktur auf einen Cluster mithilfe von z.B.: #atix #CLT2018 #docker #kubernetes
Containerorchestrierung ▶ Docker Swarm Mode: ▶ Erweiterung auf mehrere Hosts von Docker selbst ▶ Rancher mit Cattle: ▶ Unterstützung von Docker, Kubernetes, Mesos, Docker Swarm ▶ Ab Version 2.0 nur mit Kubernetes ▶ Kubernetes: ▶ Ursprünglich entwickelt von Google ▶ Fokus auf hohe Skalierbarkeit #atix #CLT2018 #docker #kubernetes
Kubernetes Kubernetes inzwischen Industriestandard: ▶ Rancher: Wechsel von Docker zu Kubernetes als Basiskomponente ▶ Red Hat: Openshift mit RHEL Atomic Host ▶ Canonical: Kubernetes mit Ubuntu Core ▶ SUSE: SUSE CaaS mit SLE MicroOS #atix #CLT2018 #docker #kubernetes
Kubernetes - schematischer Aufbau #atix #CLT2018 #docker #kubernetes
Containerplattform Container Container Container Container Developers CI/CD + Dev-Tools Storage Registry Catalog/ Operations HA Templates RBAC Monitoring Logging Orchestrierung Network/Services Clustering Container-Clustermanagment Infrastructure Hosts (Baremetal, VMs, Cloud) #atix #CLT2018 #docker #kubernetes
Hochverfügbarkeit Zone 1 Zone 2 Zone 3 HA-Umsetzung durch: Master A Master B Master C ▶ 3 Master (oder mehr) API-Server API-Server API-Server ▶ Synchronisation der Kon guration Scheduler Scheduler Scheduler Controller Controller Controller ▶ Node-Ausfälle automatisch Manager Manager Manager abfangen etcd-cluster ▶ Container-Ausfälle durch Healthchecks abfangen Nodes Nodes Nodes #atix #CLT2018 #docker #kubernetes
Persistenter Speicher Daten-Container: Node Node ▶ Cluster-Storage für alle Nodes Container Container erreichbar ▶ Bereitstellung von Volumes für Container Container Container Master ▶ Wahl des Storages bei Planung Volume der Infrastruktur berücksichtigen! Cluster-Storage (NFS, GlusterFS, etc.) #atix #CLT2018 #docker #kubernetes
Registry Zentrale Sammelstelle für Containerimages (z.B. Docker Registry, Quay, Docker Hub) ▶ Bereitstellung der Container-Images mit Versionskontrolle/Tags ▶ Intern gehostet oder öffentliche Varianten ▶ Docker Hub als zentrale öffentliche Registry → of zielle Images von Entwicklern → potentielles Sicherheitsrisiko ▶ Zerti zierte Registries wie z.B. Red Hat Container Catalog #atix #CLT2018 #docker #kubernetes
Kataloge/Templates Vorkon gurierte Vorlagen: ▶ Häu g verwendete Setups schneller zu starten ▶ Verfügbarkeit für Nicht-Admins (Selbstbedienungsportal) Ausschnitt des Rancher-Katalogs #atix #CLT2018 #docker #kubernetes
RBAC Rollenbasierte Zugriffsrechte: ▶ Rechteverwaltung für Benutzer, Node 1 Node 2 Gruppen, Umgebungen, Projekte Group A A-web A-web ▶ Gra sche Ober äche A-db (WebGUI) ▶ Zuweisung von Ressourcen an User B B-db B-svc1 Projekte B-svc2 #atix #CLT2018 #docker #kubernetes
Monitoring & Logging Mögliche Monitoring Ansätze: ▶ Verfügbarkeit der Dienste (Health-Checks) ▶ Metrics = RAM-, CPU- und Netzwerkauslastung → Monitoring & Alerting-Tools z.B. mit Prometheus (+ Grafana) oder sysdig Logging: ▶ Fluentd als Logging-Agent ▶ Meistens mit Elasticsearch und Kibana (ELK/EFK-Stack) #atix #CLT2018 #docker #kubernetes
CI/CD Automatisiertes Bauen, Testen und Ausrollen: ▶ Build über Webhooks ▶ Automatische Testläufe ▶ (Teil-)Automatisierung der Lifecycles ▶ Tools: z.B. Jenkins, Drone #atix #CLT2018 #docker #kubernetes
Containerplattform Container Container Container Container Developers CI/CD + Dev-Tools Storage Registry Catalog/ Operations HA Templates RBAC Monitoring Logging Orchestrierung Network/Services Clustering Container-Clustermanagment Infrastructure Hosts (Baremetal, VMs, Cloud) #atix #CLT2018 #docker #kubernetes
Rancher Rancher 2.0 als Plattform: ▶ Großteil der Grundbausteine integriert ▶ Für 2.X geplant: ▶ CI/CD mit Jenkins ▶ integriertes Logging Quelle: Rancher ▶ Monitoring mit Prometheus ▶ Viele Features bereits in Rancher 1 #atix #CLT2018 #docker #kubernetes
Openshift Red Hats Containerplattform: ▶ Alle Grundbausteine integriert ▶ Viele Entwicklertools, wie z.B.: ▶ Source-to-Image Builds (S2I) ▶ Integrierter Jenkins Quelle: Red Hat #atix #CLT2018 #docker #kubernetes
OpenShift 3.7 vs Rancher 2.0 Container Container Container Container Developers CI/CD + Dev-Tools Storage Registry Catalog/ Operations HA Templates RBAC Monitoring Logging Orchestrierung Network/Services Clustering Container-Clustermanagment Infrastructure Hosts (Baremetal, VMs, Cloud) #atix #CLT2018 #docker #kubernetes
Zusammenfassung Aufbau einer Containerplattform: ▶ Bausteine in verschiedenen Varianten ▶ Einige Bausteine optional ▶ Planung um Anforderungen zu berücksichtigen Viele Plattformen liefern schon viele Features mit: ▶ Rancher (2.0) - leicht aufzusetzen und zum ausprobieren ▶ OpenShift - sehr gute Developer-Tools integriert ⇒ Container-Plattformen sind erweiterbar und kon gurierbar #atix #CLT2018 #docker #kubernetes
Kontakt Dr. Jonas Trüstedt XING: www.xing.com/profile/Jonas_Truestedt LinkedIn: www.linkedin.com/in/jonas-truestedt Mail: truestedt@atix.de #atix #CLT2018 #docker #kubernetes
Sie können auch lesen