Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Kubernetes ist nicht von Haus aus sicher. Bestehende Ansätze für die Sicherheit in Unternehmen und in der Cloud werden durch die dynamische Natur von Kubernetes und das Ziel einer erhöhten organisatorischen Flexibilität, die oft mit dem Einsatz von Kubernetes einhergeht, in Frage gestellt. Um geschäftskritische Microservices in dieser neuen Umgebung erfolgreich zu sichern, zu beobachten und Fehler zu beheben, ist ein ganzheitliches Verständnis für eine Vielzahl von Aspekten erforderlich. Dazu gehören die organisatorischen Herausforderungen, die neuen cloudbasierten Ansätze zur Bewältigung dieser Herausforderungen sowie die neuen bewährten Methoden und deren Umsetzung.
Obwohl es keinen Mangel an Ressourcen zu Kubernetes gibt, kann die Navigation durch diese Ressourcen und die Formulierung einer umfassenden Sicherheits- und Beobachtungsstrategie eine entmutigende Aufgabe sein und in vielen Fällen zu Lücken führen, die die gewünschte Sicherheitslage erheblich untergraben.
Deshalb haben wir dieses Buch geschrieben, um dich zu einer ganzheitlichen Sicherheits- und Beobachtungsstrategie anzuleiten und dir bewährte Methoden und Tools an die Hand zu geben, die dich bei der Umstellung deiner Anwendungen auf Kubernetes unterstützen.
In den Jahren, in denen wir bei Tigera arbeiten und Calico, ein Netzwerk- und Sicherheitstool für Kubernetes, entwickelt haben, haben wir den Weg der Nutzer hautnah miterlebt. Wir haben gesehen, dass viele Nutzer sich darauf konzentrieren, ihre Workloads in Kubernetes zu implementieren, ohne sich Gedanken über ihre Sicherheits- oder Beobachtungsstrategie zu machen, und dann versuchen, zu verstehen, wie sie ein so komplexes verteiltes System sichern und beobachten können. Unser Ziel mit diesem Buch ist es, diese Schwierigkeiten so weit wie möglich zu verringern, indem wir unsere Erfahrungen mit dir teilen. Wir erwähnen in diesem Buch eine Reihe von Beispielen für Tools, darunter auch Calico. Wir sind der Meinung, dass Calico eine ausgezeichnete und beliebte Option ist, aber es gibt noch viele andere gute Tools wie Weave Net, VMware Tanzu, Aqua Security und Datadog, aus denen du wählen kannst. Letztendlich kannst nur du entscheiden, welches für deine Bedürfnisse am besten geeignet ist.
Die Stadien der Kubernetes-Einführung
Die erfolgreiche Einführung von Kubernetes verläuft in drei verschiedenen Phasen:
- Die Lernphase
- Als neuer Nutzer lernst du zunächst, wie Kubernetes funktioniert, richtest eine Sandbox-Umgebung ein und überlegst, wie du Kubernetes in deiner Umgebung einsetzen kannst. In dieser Phase möchtest du die online verfügbaren Kubernetes-Ressourcen nutzen und Open-Source-Technologien einsetzen.
- Die Pilot-/Vorproduktionsphase
- Sobald du dich mit Kubernetes vertraut gemacht hast und verstehst, wie es funktioniert, denkst du über eine umfassende Strategie zur Einführung von Kubernetes nach. In dieser Phase führst du in der Regel ein Pilotprojekt durch, um deinen Cluster einzurichten und ein paar Anwendungen einzubinden. Wenn du in dieser Phase vorankommst, hast du eine Vorstellung davon, welche Plattformen du nutzen willst und ob sie vor Ort oder in der Cloud sein sollen. Wenn du dich für die Cloud entscheidest, musst du entscheiden, ob du den Cluster selbst hosten oder einen verwalteten Kubernetes-Dienst eines Cloud-Providers in Anspruch nehmen willst. Du musst auch über Strategien zur Sicherung deiner Anwendungen nachdenken. Inzwischen hast du sicher erkannt, dass sich Kubernetes durch seinen deklarativen Charakter von anderen Plattformen unterscheidet. Das bedeutet, dass die Plattform viele Details über das Netzwerk, die Infrastruktur, den Host usw. abstrahiert und es dir daher sehr leicht macht, die Plattform für deine Anwendungen zu nutzen. Aus diesem Grund funktionieren die derzeitigen Methoden zur Sicherung deiner Anwendungen, Infrastruktur und Netzwerke einfach nicht mehr.
- Die Produktionsphase
- Zu diesem Zeitpunkt hast du dein Pilotprojekt abgeschlossen und einige Anwendungen erfolgreich in Betrieb genommen. Du konzentrierst dich darauf, geschäftskritische Anwendungen in der Produktion zu betreiben und zu überlegen, ob du den Großteil deiner Anwendungen auf Kubernetes migrieren willst. In dieser Phase brauchst du detaillierte Pläne für Sicherheit, Compliance, Fehlerbehebung und Beobachtbarkeit, damit du deine Anwendungen sicher und effizient in die Produktion überführen und alle Vorteile der Kubernetes-Plattform nutzen kannst.
Hinweis
Die Beliebtheit und der Erfolg von Kubernetes als Plattform für Container-basierte Anwendungen hat viele Menschen dazu veranlasst, es zu übernehmen. In den letzten Jahren haben sich die Anbieter von Kubernetes-Diensten bemüht, Innovationen zu entwickeln und die Einführung zu erleichtern. Neue Nutzer/innen könnten versucht sein, die Lern- und Pilotphase zu überspringen, um schnell in die Produktionsphase zu gelangen. Wir warnen davor, die Due Diligence zu überspringen. Bevor du geschäftskritische Anwendungen in Kubernetes einbindest, musst du Sicherheit und Beobachtbarkeit als wichtige erste Schritte in Betracht ziehen; ohne sie ist deine Kubernetes-Einführung unvollständig und potenziell unsicher.
Für wen dieses Buch ist
Dieses Buch richtet sich an ein breites Spektrum von Kubernetes-Praktikern, die sich in der Pilot-/Vorproduktionsphase der Einführung befinden. Du bist vielleicht ein Plattformingenieur oder gehörst zum Sicherheits- oder DevOps-Team. Einige von euch sind die ersten in eurem Unternehmen, die Kubernetes einführen und von Anfang an auf Sicherheit und Beobachtbarkeit achten wollen. Andere helfen dabei, bewährte Methoden in einer Organisation einzuführen, die Kubernetes bereits eingeführt hat, aber die Herausforderungen, die Kubernetes in Bezug auf Sicherheit und Beobachtbarkeit mit sich bringt, noch nicht gelöst hat. Wir gehen davon aus, dass du grundlegende Kenntnisse über Kubernetes hast - was es ist und wie man es als Orchestrierungswerkzeug für das Hosting von Anwendungen nutzt. Wir gehen außerdem davon aus, dass du weißt, wie Anwendungen in einem Kubernetes-Cluster bereitgestellt werden und wie sie verteilt sind.
Innerhalb dieses breiten Publikums gibt es viele verschiedene Rollen. Hier ist eine nicht erschöpfende Liste ( ) von Teams, die an der Entwicklung und Implementierung von Kubernetes-basierten Architekturen beteiligt sind und für die dieses Buch von Nutzen sein wird. Bitte beachte, dass die Rollennamen in deinem Unternehmen anders lauten können. Daher solltest du dir die Zuständigkeiten der einzelnen Rollen ansehen, um die entsprechende Rolle in deinem Unternehmen zu identifizieren. Wir werden diese Namen im gesamten Buch verwenden, damit du besser verstehst, wie sich ein Konzept auf die jeweilige Rolle auswirkt.
Das Plattform-Team
Das Platform Engineering Team ist für das Design und die Implementierung der Kubernetes-Plattform verantwortlich. Viele Unternehmen entscheiden sich für die Implementierung einer Container-as-a-Service-Plattform (CaaS). Dabei handelt es sich um eine Plattform, die unternehmensweit zur Implementierung von containerbasierten Arbeitslasten genutzt wird. Das Plattform-Engineering-Team ist für die Plattformkomponenten verantwortlich und stellt sie den Anwendungsteams als Service zur Verfügung. In diesem Buch erfährst du, wie wichtig es ist, die Plattform zu sichern, und welche bewährten Methoden es gibt, um die Plattform zu sichern - damit du den Anwendungsteams eine Möglichkeit bieten kannst, Anwendungen auf einer sicheren Kubernetes-Plattform zu betreiben. Außerdem erfährst du, wie du das Sicherheitsrisiko neuer Anwendungen auf der Plattform handhaben kannst.
Das Networking Team
Das Netzwerkteam ist für die Integration von Kubernetes-Clustern in ein Unternehmensnetzwerk verantwortlich. Diese Teams spielen unterschiedliche Rollen bei der Bereitstellung von Kubernetes vor Ort und in einer Cloud-Umgebung, in der Kubernetes-Cluster selbst gehostet werden oder einen verwalteten Kubernetes-Dienst nutzen. Du wirst verstehen, wie wichtig die Netzwerksicherheit ist und wie du Netzwerke mit einer starken Sicherheitsstruktur aufbaust. Bewährte Methoden für die Freigabe von Anwendungen außerhalb der Kubernetes-Plattform sowie der Netzwerkzugang für Anwendungen zu externen Netzwerken sind Beispiele für Themen, die in diesem Buch behandelt werden. Du lernst auch, wie du mit anderen Teams zusammenarbeitest, um Netzwerksicherheit zu implementieren und Elemente außerhalb von Kubernetes vor Arbeitslasten innerhalb von Kubernetes zu schützen.
Das Sicherheitsteam
Das Sicherheitsteam in Unternehmen ist am meisten von der Entwicklung hin zu Cloud-nativen Anwendungen betroffen. Cloud-native Anwendungen sind Anwendungen, die für Cloud-Umgebungen entwickelt wurden und sich von herkömmlichen Anwendungen unterscheiden. Diese Anwendungen sind zum Beispiel über die Infrastruktur in deinem Netzwerk verteilt. In diesem Buch erfährst du, wie du eine Kubernetes-Plattform, auf der Anwendungen gehostet werden, sichern kannst. Es gibt dir einen umfassenden Überblick darüber, wie du geschäftskritische Workloads sichern kannst. Du lernst, wie du mit verschiedenen Teams zusammenarbeitest, um die Sicherheit in der neuen und andersartigen Welt von Kubernetes effektiv umzusetzen.
Das Compliance-Team
Das Compliance-Team in einem Unternehmen ist dafür verantwortlich, dass die Abläufe und Prozesse in einem Unternehmen die Anforderungen der von einem Unternehmen festgelegten Compliance-Standards erfüllen. Du wirst verstehen, wie man verschiedene Compliance-Anforderungen umsetzt und wie man die laufende Compliance in einer Kubernetes-basierten Plattform überwacht. Beachte, dass wir nicht detailliert auf Compliance-Anforderungen und verschiedene Standards eingehen, sondern dir Strategien, Beispiele und Tools an die Hand geben, die dir helfen, Compliance-Anforderungen zu erfüllen.
Das Einsatzteam
Das Betriebsteam ist das Team aus Entwicklern/Tools/Operations Ingenieuren, die für die Erstellung und Wartung von Anwendungen verantwortlich sind. Sie werden auch als DevOps oder Site Reliability Engineers (SREs) bezeichnet. Sie sorgen dafür, dass die Anwendungen in Betrieb genommen werden und die erforderlichen Service Level Agreements (SLAs) erfüllen. In diesem Buch lernst du deine Rolle bei der Sicherung des Kubernetes-Clusters und die Zusammenarbeit mit dem Sicherheitsteam kennen. Wir werden das Konzept der Shift-Links-Sicherheit behandeln, das besagt, dass Sicherheit schon sehr früh im Lebenszyklus der Anwendungsentwicklung stattfinden muss. Beobachtbarkeit in einer Kubernetes-Plattform bedeutet, dass du Details über den Betrieb deines Clusters ableiten kannst, indem du die Daten der Plattform betrachtest. Dies ist die moderne Art, eine verteilte Anwendung zu überwachen. Du wirst lernen, wie man Observability implementiert und welche Bedeutung sie für die Sicherheit hat.
Was du lernen wirst
In diesem Buch erfährst du, wie du bei der Umsetzung deiner Kubernetes-Strategie an die Sicherheit denkst - von der Entwicklung von Anwendungen über den Aufbau der Infrastruktur und das Hosting von Anwendungen bis hin zur Bereitstellung und Ausführung von Anwendungen. Wir stellen dir bewährte Methoden für jeden dieser Bereiche vor, mit Beispielen und Tools, die dir helfen, deine Kubernetes-Plattform zu sichern. Wir zeigen dir, wie du Audits, Compliance und andere Sicherheitskontrollen für Unternehmen wie Verschlüsselung implementieren kannst.
Außerdem lernst du bewährte Methoden mit Tools und Beispielen kennen, die dir zeigen, wie du Observability implementieren kannst, und die ihre Relevanz für Sicherheit und Fehlerbehebung demonstrieren. Diese verbesserte Sichtbarkeit deiner Kubernetes-Plattform wird dir verwertbare Erkenntnisse liefern, die für deine spezielle Situation relevant sind.
Am Ende des Buches wirst du in der Lage sein, diese bewährten Methoden für Sicherheit und Beobachtbarkeit für deine Kubernetes-Cluster umzusetzen.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/tigera/k8s-security-observability-book zum Download bereit .
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich .
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Ein Beispiel: "Kubernetes Security and Observability von Brendan Creane und Amit Gupta (O'Reilly). Copyright 2022 O'Reilly Media, 978-1-098-10710-9."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter http://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele, und alle zusätzlichen Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/KSO aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter http://oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://youtube.com/oreillymedia
Danksagungen
Es war eine großartige Erfahrung, dieses Buch zu schreiben, und es wäre ohne die Hilfe, Unterstützung und Anleitung mehrerer Personen nicht möglich gewesen. Zunächst möchten wir uns bei der Community, den Entwicklern und Maintainern von Project Calico bedanken. Ihre Innovationen und Beiträge zu Kubernetes und Kubernetes Sicherheit und Observabilität haben es uns ermöglicht, dieses Buch zu schreiben. Die großartigen Ingenieur- und Sicherheitsforschungsteams bei Tigera haben Produkte entwickelt, die die komplexen Herausforderungen in Bezug auf Sicherheit und Beobachtbarkeit angehen, und das hat es uns ermöglicht, ein klares Verständnis für die Herausforderungen zu bekommen, mit denen die Nutzer konfrontiert sind. Das war sehr hilfreich, als wir dieses Buch geschrieben haben, um die Nutzer zu einer ganzheitlichen Lösung für Sicherheit und Beobachtbarkeit zu führen.
Wir möchten uns auch bei den Rezensenten bedanken, die ihre Meinungen und ihr Fachwissen zur Verfügung gestellt haben. Ihre Kommentare und Hinweise haben den Inhalt dieses Buches sehr bereichert. Unser besonderer Dank gilt Manish Sampat, Alex Pollitt, Virginia Wilson, Seth Vargo, Tim Mackey, Ian Lewis, Puja Absassi und Jose Ruiz - ihr seid großartig!
Abschließend möchten wir uns bei allen Mitgliedern der Community bedanken, die einen Beitrag zur Sicherheit und Beobachtbarkeit von Kubernetes leisten. Es ist erstaunlich, wie innovativ dieser Bereich ist, und wir sind begeistert, dass wir an der Sicherheit und Beobachtbarkeit von Kubernetes beteiligt sind.
Get Kubernetes Sicherheit und Beobachtbarkeit now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.