CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS

Die Seite wird erstellt Arvid Buchholz
 
WEITER LESEN
CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS
Containerplattform
    Lego für DevOps

     Dr. Jonas Trüstedt

     10. März 2018
CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS
SIMPLIFY YOUR DATACENTER

#atix #CLT2018 #docker #kubernetes
CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS
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
CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS
Container

 Vorteile:
     ▶   Portabel
     ▶   Schnell
     ▶   Skalierbar
     ▶   Ef ziente Hardwarenutzung

   VMs        vs     Container
   Pets       vs      Cattle

 Container ̸= Docker
 Alternative: z.B. rkt

#atix #CLT2018 #docker #kubernetes
CONTAINERPLATTFORM LEGO FÜR DEVOPS - DR. JONAS TRÜSTEDT 10. MÄRZ 2018 - LEGO FÜR DEVOPS
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