Zuerst kamen die physischen Server, gefolgt von den virtuellen Maschinen, und jetzt adaptiert das Entwickler-Ökosystem rasant Container- und Serverless-Computing. Eine der größten Herausforderungen, die physische Server darstellen, ist ihre Verwaltung, die die Virtualisierung durch die Emulation des realen Systems löst und so die Steuerung verschiedener Funktionen rationalisiert. Nun extrapolieren Container- und Serverless-Computing die Vorteile für die Entwickler auf eine ganz neue Ebene. Und hier kommt Kubernetes ins Spiel.

Googles Cloud Next 2018 Summit in San Francisco betonte die aktive Beteiligung des Unternehmens an über Tausenden von Open-Source-Projekten, darunter Kubernetes. Als Kubernetes in Google Cloud eingeführt wurde, hatte es mehr als 20.000 Mitwirkende, was es zu einem der sich am schnellsten entwickelnden Projekte in der Open-Source-Geschichte machte. Kubernetes kann ein großer Gewinn bei der Bereitstellung von Projekten sein, die auf einem anderen Open-Source-Framework basieren - Drupal. Aber bevor wir uns darauf stürzen, wollen wir den kurzen Zeitstrahl der Entstehung von Kubernetes durchlaufen.
Zeitstrahl der Kubernetes-Entstehung
Kubernetes wurde ursprünglich von einem Team bei Google entwickelt, das seit seiner Einführung als Open Source veröffentlicht wurde und von einer großen Community von Mitwirkenden verwaltet wird. RisingStack hat eine interessante Zeitleiste zusammengestellt, die die Geschichte von Kubernetes mit der Entstehung des Borg-Systems nachzeichnet.
Um 2003-2004 führte Google das Borg-System ein, ein groß angelegtes internes Cluster-Management-System, dem 2013 die Einführung des Omega-Cluster-Management-Systems folgte.
Mitte 2014 stellte Google die Open-Source-Version von Borg in Form von Kubernetes vor. Mitte 2015 wurde Kubernetes v1.0 offiziell veröffentlicht.
2016 war das Jahr, in dem Kubernetes zum Mainstream wurde
2016 war das Jahr, in dem Kubernetes mit fortschrittlicheren Versionen, Fallstudien, Konferenzen und der Unterstützung für Windows Server und OpenAPI zum Mainstream wurde.
Im Jahr 2017 begannen große Unternehmen mit der Einführung und Unterstützung von Kubernetes, wobei Microsoft, Oracle, Google, IBM und Amazon weitere Container-Orchestrierungsmethoden mit Kubernetes entwickelten.
Kubernetes genauer betrachtet

Kubernetes ist ein Open-Source-System, das für die Handhabung von containerisierten Anwendungen über zahlreiche Hosts hinweg verwendet wird und grundlegende Mechanismen für die Bereitstellung, Wartung und Skalierung von Anwendungen bietet. Es wird von der Cloud Native Computing Foundation (CNCF) gehostet. CNCF wurde durch die Partnerschaft von Google und der Linux Foundation gegründet. Ziel ist die Entwicklung nachhaltiger Ökosysteme. CNCF hilft bei der Förderung einer Community von erstklassigen Projekten, die Container als Teil einer Microservices-Architektur orchestrieren.
Kubernetes ist eine portable, erweiterbare Open-Source-Plattform für die Verwaltung von containerisierten Workloads und Services, die sowohl die deklarative Konfiguration als auch die Automatisierung erleichtert - Kubernetes-Dokumentation
Mit Kubernetes können Sie containerisierte Anwendungen schnell und vorhersehbar bereitstellen und containerisierte Anwendungen im laufenden Betrieb skalieren. Es rollt nahtlos neue Funktionen für Ihre containerisierten Anwendungen aus und optimiert Ihre Hardware.
Zu den wichtigsten Funktionen von Kubernetes gehören:
Bereitstellung von Containern und Verwaltung der Rollout-Kontrolle: Mit Kubernetes können Sie Ihre Container beschreiben und definieren, wie viele Sie in einer einzigen Bereitstellung wünschen. Es kann die Ausführung dieser Container (auch über mehrere Hosts hinweg) steuern und auch Änderungen wie das Aktualisieren von Images, das Ändern von Variablen usw. an Ihren Containern verwalten.
- Resource Bin Packing: Damit können Sie minimale und maximale Computerressourcen (CPU und Speicher) für alle Container deklarieren.
- Service Delivery: Es bietet eine integrierte Service Delivery für die automatische Bereitstellung von Containern im Internet oder anderen Containern im Kubernetes-Cluster.
- Autoscaling: Es führt automatisch einen Lastausgleich des Datenverkehrs über übereinstimmende Container durch.
- Heterogene Cluster: Es hilft bei der Entwicklung eines Clusters mit einer Mischung aus virtuellen Maschinen, On-Premises-Servern oder Bare Metal im Rechenzentrum des Unternehmens.
- Storage-Unterstützung: Es bietet persistente Storage-Unterstützung mit Unterstützung für Amazon Web Services EBS, Google Cloud Platform Persistent Disks und viele mehr. Anbieter wie Red Hat, Dell, NetApp und EMC bieten persistenten Storage für Kubernetes an.
- Hohe Verfügbarkeit: Es bietet eine sehr hohe Verfügbarkeit, wie z. B. Multi-Master- und Cluster-Federation, die die Verknüpfung von Clustern zum Zwecke des Lastausgleichs ermöglicht.
Docker vs. Kubernetes
Beachten Sie, dass Kubernetes kein Ersatz für Docker ist, sondern für einige der Top-of-the-Line-Technologien, die rund um Docker entstanden sind.
Eine dieser Technologien ist Docker Swarm, ein Orchestrator, der mit Docker gebündelt ist. Es ist möglich, Swarm anstelle von Kubernetes zu nutzen, aber Docker Inc. hat sich entschieden, Kubernetes zu einem Teil der Docker Community und der Docker Enterprise Editionen zu machen.
Kubernetes ist deutlich komplexer als Docker Swarm
Kubernetes ist kein direkter Ersatz für Swarm. Kubernetes ist deutlich komplexer als Swarm und erfordert mehr Aufwand bei der Bereitstellung. Aber auch hier gilt: Der Aufwand für die Container-Orchestrierung mit Kubernetes zahlt sich auf lange Sicht aus - eine besser steuerbare und widerstandsfähigere Anwendungsinfrastruktur. Docker Swarm ist eine gute Wahl für die Entwicklungsarbeit und kleinere Container-Cluster.
Bereitstellung von Drupal mit Kubernetes
Auf dem Bay Area Drupal Camp 2017 wurde eine Präsentation gezeigt, die die Bereitstellung von Drupal unter Verwendung von Kubernetes demonstrierte. Eine Digitalagentur baute eine Lagoon-Plattform, die Cloud-Webhosting-Lösungen für Decoupled Drupal mit Node.js-Funktionen erstellt. Es zeigte, dass für die Skalierung von Drupal auf eine Vielzahl von jährlichen Seitenaufrufen eine entkoppelte CMS-Architektur die gemeinsame Bereitstellung von Docker-, Kubernetes- und OpenStack-Lösungen in Rechenzentren ermöglicht.
Die Lagoon-Plattform wurde für die Optimierung des Hostings für Decoupled Drupal-Sites in der Public Cloud mit OpenStack entwickelt. Mit Lagoon können Drupal-Administratoren Container für PHP mit NGINX erstellen, die MYSQL- oder MariaDB-Installation in einem anderen Container mit Node.js konfigurieren, das auf einem dritten Satz konfiguriert ist.
Container für Redis, Varnish Cache und Solr vervollständigen die Installation und verwalten den Lastausgleich, das Page-Caching und die automatische Skalierung von Webserver-Knoten, um die Traffic-Raten anzupassen. Lagoon basiert auf Red Hat Enterprise Linux und der OpenShift-Plattform zusätzlich zur Original Community Kubernetes Distribution (OKD). Systemadministratoren müssten Jenkins, Ansible, Vagrant, TravisCI, Puppet, Docker und CircleCI für die Konfiguration verwenden.
Programmierer und Entwickler müssten sich mit GraphQL, React, Apollo, Next.js und Prometheus auskennen. Lagoon nutzt Alpine Linux für Container-Installationen aus Docker-Images. Die Integration des Content Delivery Network (CDN) vervollständigt einen anderen Produktionsweg für anonymen Traffic nach Geolokalisierung und optimiert so die Hardware des Rechenzentrums.
Der Workflow-Prozess mit Lagoon umfasst das Lesen der docker-compose.yml und das Erstellen von Disk-Images, die das Betriebssystem für Webserver in Containern einrichten. Dann werden Disk-Images in eine Betriebssystem-Registry wie GitHub oder BitBicket übertragen. Mit Ansible wird das Disk-Image in ein Git-Repository übertragen und Commits an Node.js zur Prüfung vorgenommen. Lagoon stellt Disk-Images aus dem Git-Repository für Drupal-Webhosting-Anforderungen in Kubernetes-Clustern bereit.
Minishift kann verwendet werden, um die OpenShift-Serververwaltung auf dem Desktop auszuführen. Lagoon umfasst serverseitiges Rendering für Node.js und React auf NGINX, wobei Drupal auf NGINX in isolierten Containern einzeln ausgeführt wird. Dann wird Varnish Cache verwendet, um HTML-Dateiübertragungen an Benutzer und CDNs zu verarbeiten.
Markttrends

Eine Studie des Technologieforschungs- und Beratungsunternehmens 451 Research untersuchte die Einführung von Containern durch Unternehmen in einer Vielzahl von Branchen. Sie ergab, dass Unternehmen aller Größenordnungen Container in rasantem Tempo einsetzen und viele ihre containerisierten Workloads sogar mit Orchestrierungssoftware bereitstellen und steuern. 52 % der Unternehmen gaben an, dass sie heute Container-Management- und Orchestrierungssoftware in der Produktion einsetzen, und 71 % der Befragten verwendeten Kubernetes.
Eine weitere Umfrage von Portworx Annual Container Adoption im Jahr 2017 enthielt Erkenntnisse von 491 IT-Experten aus verschiedenen Branchen und Unternehmensgrößen. Sie zeigte, dass Kubernetes die bevorzugte Option ist, wenn es um die Container-Orchestrierung geht (siehe Grafik unten).

Darüber hinaus heißt es in einem Bericht von Transparency Market Research, dass "die wichtigsten Treiber des Kubernetes-Lösungsmarktes das rasante Wachstum der Container-Orchestrierung, die Zunahme der Investitionen durch Anbieter, die stärkere Fokussierung auf Hybrid Cloud und Multi-Cloud sowie die zunehmende Akzeptanz von Kubernetes durch große Player sind, die Cloud Computing anbieten".
In diesem Bericht heißt es auch, dass Nordamerika zwar den größten Anteil am Kubernetes-Lösungsmarkt hat, Europa aber als zweitgrößter Markt folgt. Außerdem sind Amazon Web Services, Google Inc., Microsoft Corporation, Red Hat, Inc., Apprenda Inc., UnitedHealth Group, IBM Bluemix, Cisco Systems, Inc., Target, Oracle Corporation, Huawei Technologies Co., Ltd, CenturyLink, Inc. Kismatic, Inc., Heptio, Core OS, Datera und NavOps die wichtigsten Anbieter.
Fazit
Drupal als großartiger Content Store ist aufgrund der großen und aktiven Community, die sich der ständigen Verbesserung von Drupal zur Förderung digitaler Innovationen verschrieben hat, exponentiell gewachsen. Kubernetes, ebenfalls eine Open-Source-Software, kann eine große Hilfe bei der Drupal-Bereitstellung sein und hat in letzter Zeit mit einer enormen Akzeptanzrate bei den großen Unternehmen rasante Fortschritte gemacht.
Bei Opensense Labs bieten wir eine Reihe von Dienstleistungen an, um unseren Partnern ein hervorragendes digitales Erlebnis zu bieten.
Kontaktieren Sie uns unter [email protected], um Drupal-basierte Webanwendungen zu entwickeln und bereitzustellen, die die Leistungsfähigkeit von Kubernetes nutzen.
Abonnieren
Related Blogs
Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

„Fit. Schnell. Für die Ewigkeit gebaut.“ Das war nicht nur ein Slogan, sondern die Denkweise, mit der wir zur DrupalCon…
Erklärbare KI-Tools: SHAPs Stärke in der KI

Wissen Sie, was erklärbare KI-Tools sind? Erklärbare KI-Tools sind Programme, die zeigen, wie eine KI ihre Entscheidungen…
KI-Chatbots: Präzision und Persönlichkeit in Perfektion

In der Welt der künstlichen Intelligenz ist die Entwicklung eines KI-Chatbots, der nicht nur akkurate Informationen liefert…