Anzeige

Kubernetes

Ein nicht ganz unbekannter Running Gag lautet: „Alle Softwareprobleme lassen sich mit Kubernetes lösen“. Aber für Laien erklärt: Was genau ist Kubernetes, und warum sollte man sich unbedingt dafür interessieren?

Dazu wurde Tim Mackey, Principal Security Strategist bei Synopsys, befragt.  

Was ist Kubernetes? Und was genau sind Container? Beides gehört ja zusammen.

Tim Mackey: Kubernetes ist eine Möglichkeit, Cloud-Computing-Ressourcen zu verwalten.

Und zwar so, dass sie sich gleichermaßen für Unternehmen mit den IT-Anforderungen eines kleinen Shops bis hin zu Unternehmen auf Konzernniveau skalieren lassen. Die von Kubernetes verwalteten Computerressourcen bezeichnet man als Container, und sie sind die Software, die für den Betrieb eines Teils einer Anwendung erforderlich ist. Wenn Sie sich beispielsweise eine Shopping-Website ansehen, können der Warenkorb, der Anmeldeprozess, die Suche und der Produktkatalog alle in separaten Containern implementiert sein. Aber nicht jede dieser Softwarefunktionen benötigt die gleichen Ressourcen. Ein Benutzer befüllt normalerweise einen einzigen Warenkorb und meldet sich auch nur ein einmal an. Aber er stellt möglicherweise viele verschiedene Suchanfragen, bevor er sich für ein Produkt entscheidet, das er schlussendlich kaufen will.

Mit Kubernetes lässt sich jede dieser containerisierten Softwareressourcen unabhängig voneinander und gemäß der jeweiligen Kundenaktivität skalieren. Ein Vorteil von Kubernetes ist, dass Unternehmen damit eine hoch resiliente Infrastruktur nutzen - eine Infrastruktur, die Ausfälle und Nachfragespitzen gleichermaßen verkraftet. Wie viele Replikate eines jeden Containers man braucht, um die Benutzeraktivität zu befriedigen, das variiert im Laufe eines Tages.

Kubernetes trägt dazu bei, dass tatsächlich nur die Ressourcen bereitgestellt werden, die für den aktuellen Bedarf benötigt werden. Genau das hilft Unternehmen dabei, die Kundenerwartungen zu erfüllen und gleichzeitig im Rahmen ihres Budgets zu bleiben.

Wie werden Container und Kubernetes innerhalb einer Anwendung eingesetzt? Wenn Google angibt, "Milliarden von Containern pro Woche" auszuführen - was ist damit gemeint? 

Tim Mackey: Die Aussage, Milliarden von Containern pro Woche auszuführen, ist als solche schwer zu beurteilen. Es kann bedeuten, dass buchstäblich Milliarden von Containern gleichzeitig ausgeführt werden. Viel wahrscheinlicher ist aber, dass es sich um Milliarden von Container-Instanzen handelt. Der Unterschied besteht darin, dass im Gegensatz zu einer herkömmlichen Anwendung, die mehrere Funktionen über einen langen Zeitraum, vielleicht Tage oder Wochen, ausführt, Container typischerweise simple Funktionen ausführen und eine Lebensdauer von nur wenigen Sekunden haben können.

Das hat eine Reihe von Vorteilen. Einer der wichtigsten davon ist die Sicherheit. Hacker versuchen üblicherweise auf Anmeldedaten wie Passwörter zuzugreifen. Bei einer herkömmlichen Anwendung könnten der Benutzername und das Kennwort eines Benutzers direkt an die Anwendung übermittelt werden. Wird die Anwendung kompromittiert, haben die Hacker potenziell Zugriff auf die Anmeldedaten des Benutzers. Wäre die Anwendung hingegen „Cloud-nativ“, ein anderer Begriff für containerisiert, würde der Anmeldeprozess in einem eigenen dedizierten Container isoliert.

Das heißt, ein Hacker müsste den Login-Container kompromittieren. Das ist natürlich möglich. Allerdings gibt es Dutzende oder sogar Hunderte von Login-Containern, und ihre Lebensdauer währt nur so lang wie es dauert, die angegebenen Anmeldedaten zu validieren. Dann müssten die Angreifer einen Weg finden, sämtliche Login-Container zu kompromittieren und den Angriff in Sekundenbruchteilen durchzuführen. Diese einfache Eigenschaft von Containern besagt, dass jedes Login einen eigenen Container erfordern kann und es im Laufe einer Woche gegebenenfalls Milliarden davon gibt.

Warum sind Kubernetes und Container so elementar wichtig für die digitale Transformation? Wie wirkt sich das praktisch aus?

Tim Mackey: Die digitale Transformation ist Cloud-getrieben und damit zwangsläufig auch von Kubernetes abhängig. Eine Schlüsseleigenschaft der Cloud ist die Resilienz. Cloud-Anbieter haben mehrere Präsenzpunkte im Internet, und Unternehmen stellen ihre Dienste in unterschiedlichen Regionen bereit. Bei einem Ausfall in lediglich einer Region laufen die in anderen Regionen eingesetzten Anwendungen weiter - auch wenn sie möglicherweise langsamer reagieren.

Hier hilft Kubernetes, einige wichtige Probleme zu lösen. Wenn es in einer Region zu einem Ausfall kommt, kann Kubernetes in den verbleibenden Regionen, die online sind, Ressourcen hochskalieren, um die erhöhte Nachfrage zu befriedigen. Aus Sicht von Kubernetes unterscheidet sich der Ausfall nicht von einem plötzlichen Nachfrageanstieg beispielsweise durch einen viralen Social-Media-Beitrag. Kubernetes „weiß“, dass mehr Kapazität benötigt wird, und folgt der Skalierungskonfiguration, die das Unternehmen definiert hat, um die Kapazität nahtlos zu erhöhen.

Für welche Anwendungen sind Kubernetes und Container die richtige Wahl und wo eher nicht? 

Tim Mackey: Man kann Container verwenden, um Probleme mit virtuellen Maschinen zu lösen, aber in der Praxis sind Container am effektivsten, wenn sie Cloud-native Anwendungen ausführen. 

Die Anwendung wurde so konzipiert, dass sie in einer Cloud-Umgebung ausgeführt wird. Cloud-Umgebungen sind in vielerlei Hinsicht unterschiedlich, sodass Annahmen darüber, wie Systemprotokolle oder Patch-Management auszusehen haben, überdacht werden sollten. Für viele Unternehmen ist Kubernetes noch neu. Und oft ist es verlockend, bestehende IT-Praktiken zu replizieren und sie auf Container und Kubernetes zu übertragen. Das ist aber nicht unbedingt im Sinne der Sicherheit und erhöht nicht selten die geschäftlichen Risiken. 

Nehmen wir an, ein Unternehmen verfügt über eine Richtlinie, sich bei allen laufenden virtuellen Infrastrukturen anzumelden und den Patch-Status zu überprüfen. Das ist nicht unvernünftig. Wenn man diese Richtlinie aber auf Container und Kubernetes anwendet, heißt es, dass alle Container über solche Funktionen verfügen müssen. Und zwar auch dann, wenn keine Anforderung für diese 

Funktionalität besteht. Besser wäre es, ein Verständnis dafür zu entwickeln, dass Kubernetes hervorragend geeignet ist, Replikate desselben "goldenen" Containers zu verwalten. 

Container patcht man am besten indem man diesen "goldenen" Container patcht. Das anschließende Auslösen von Kubernetes zum erneuten Bereitstellen der Anwendung erfolgt dann mit diesem neu gepatchten Container. Im Endergebnis sind alle Container gepatcht, und aufgrund der Art und Weise, wie Kubernetes Replikate verwaltet, bleiben sie es auch.

Tim Mackey, Prinicipal Security Strategist
Tim Mackey
Prinicipal Security Strategist, Synopsys Cybersecurity Research Center (CyRC)
Tim Mackey ist einer der wichtigsten Sicherheitsstrategen des Synopsys CyRC (Cybersecurity Research Center). Er kam im Rahmen der Übernahme von Black Duck Software zu Synopsys, wo er daran arbeitete, die integrierte Sicherheits-Scan-Technologie für Red Hat OpenShift und die Container-Orchestrierungsplattformen von Kubernetes bereitzustellen.

Artikel zu diesem Thema

Cloud Computing
Jul 12, 2021

Kaum ein Unternehmen hat Kubernetes und Cloud-native vollständig eingeführt

Cloud-Native-Technologien erfreuen sich wachsender Beliebtheit, haben aber noch viel Luft…
Container
Apr 23, 2021

Container-Technologie ist die Virtualisierung 2.0

Container sind bei der Entwicklung von Cloud-Applikationen unverzichtbar. Die…
Kubernetes
Jul 14, 2020

Die zentrale Rolle von automatisierten Datenbanken in Kubernetes

Für Kubernetes-Entwickler steht gleich zu Beginn eines Projekts eine folgenschwere…

Weitere Artikel

SDN

5 Gründe, warum Sie auf SD-WAN setzen sollten

Haben Sie Zweigstellen, die bisher über MPLS-Leitungen ans zentrale Rechenzentrum angebunden sind? Dann kennen Sie bestimmt das Problem: Die alte Technik ist teuer, unflexibel und bremst die Cloud-Nutzung aus. SD-WAN kann diese Herausforderungen lösen.
Backup

Warum ein ganzheitlicher Ansatz die Zukunft des Backups ist

IT-Sicherheitsteams stehen weiterhin vor großen Herausforderungen. Die Art, wie wir arbeiten hat sich durch hybride Arbeitsumgebungen massiv geändert. Die Ansprüche an Backups sind daher unweigerlich gewachsen und Unternehmen müssen sich an diese neuen…
Rechenzentrum

Essentielle Skills für modernes Network Engineering

Wenn es um das Management von Unternehmensnetzwerken geht, rückt NetOps immer mehr in den Fokus. Entsprechend verändern und vergrößern sich auch die Anforderungen an Network Engineers. Opengear hat sieben Skills ausgemacht, auf die Netzwerk-Experten in…
Datenmanagement

Herausforderungen beim Stammdatenmanagement

Akkurate Stammdaten von Kunden bzw. Interessenten sind für Unternehmen in vielerlei Hinsicht essenziell – sei es, um bestellte Produkte schnell zuzustellen, Kontakte zu pflegen, erfolgreiche Marketingaktionen zu initiieren oder Datenschutzvorgaben einfacher…
SDN

Homeoffice lässt Markt für Software Defined Networking rasant wachsen

Der Markt für softwarebasierte WAN-Lösungen (SD-WAN) gehört zu einem der am schnellsten wachsenden Technologiemärkte in Deutschland. Dabei hat die pandemiebedingte Zunahme von mobilem Arbeiten und Homeoffice den SDN-Serviceanbietern noch einmal zusätzliche…

Anzeige

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button "Zum Newsletter anmelden" stimme ich der Datenschutzerklärung zu.