Kubernetes -  Kevin Welter

Kubernetes (eBook)

Das Praxisbuch für Entwickler und DevOps-Teams

(Autor)

eBook Download: EPUB
2024 | 1. Auflage
427 Seiten
Rheinwerk Computing (Verlag)
978-3-8362-9885-8 (ISBN)
Systemvoraussetzungen
27,93 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Kubernetes ist die Grundlage moderner IT-Infrastrukturen und ein unverzichtbares Werkzeug für das schnelle und agile Deployment von Anwendungen. Jedoch: Die Lernkurve ist steil, die Architektur und das Zusammenspiel der zahlreichen Komponenten muss gut verstanden sein, damit kein Chaos entsteht.
In diesem Praxisbuch finden Sie eine gründliche Einführung in die Konzepte und Ideen containeriserter Umgebungen. Sie lernen die vielen Bestandteile einer Kubernetes-Installation kennen und erfahren praxisnah, wie Anwendungen deployt werden.

Aus dem Inhalt:

  • Grundlagen und Konzepte
  • Pod- und Container-Management
  • Ressourcen as Code
  • Skalierung und Loadbalancing
  • Storage
  • Netzwerke und Sicherheit
  • Monitoring und Fehlersuche
  • Anwendungen für Kubernetes entwickeln
  • Über den Tellerrand: Operatoren, Backups, Istio, Kvyerno, Kustomize
  • Paketmanagement mit Helm

1    Vorwort


»Be water my friend.«
Bruce Lee

Vielleicht kennen Sie das Interview mit Bruce Lee, aus dem dieses Zitat stammt. Im Kern seiner Aussage geht es um die Anpassungsfähigkeit des Wassers. Was Bruce Lee meinte, ist, sich im Kampf auf sein Gegenüber einzustellen. Sich anzupassen, wenn es notwendig ist. Offen zu sein, um adäquat auf die Umwelt und die sich verändernden Gegebenheiten reagieren zu können. Dieser Satz begleitet mich schon eine ganze Weile. Nicht nur, weil ich Kampfsport ausübe, sondern vor allem, weil diese Metapher auch in der IT so passend ist.

Als ich 2011 meine Ausbildung zum Fachinformatiker Systemintegration angefangen habe, wusste ich noch gar nicht, welche Welt sich mir öffnen würde. Ich habe das Handwerk IT von Grund auf gelernt. Ich kann mich noch gut an die ersten Projekte erinnern. Für eine Anwaltskanzlei haben wir ein Netzwerk verlegt. Die Löcher selbst gebohrt, die Kabel gezogen und die Netzwerkstecker gecrimpt. Oder ich habe selbst für ein mittelständisches Unternehmen einen neuen Server zusammengebaut, installiert und in einem Serverraum vor Ort verkabelt und eingerichtet.

Wenn Sie heute einen Server brauchen, dann klicken Sie auf Launch im Frontend Ihres Cloud-Anbieters. Auf magische Weise wird eine virtuelle Maschine (VM) in irgendeinem Hochsicherheitsrechenzentrum für Sie freigeschaltet. Die Welt ist ständig im Wandel, und so ist es auch mit der Technologie. Durch die Abstraktion wird das Benutzen immer einfacher, doch das bringt nicht nur Vorteile mit sich.

2017 bin ich nach dem Studium zum ersten Mal in Berührung mit Cloud, DevOps, Docker und Kubernetes gekommen, und seither lässt mich das Thema nicht mehr los. Ich erinnere mich noch an die Tage während des Studiums, als ich mich gefragt habe: »Wie kommt meine Software eigentlich zum Kunden?«

In der Ausbildung und im Studium habe ich programmieren gelernt. Erst Java, dann C, dann C++. Ich habe gelernt, was Softwareengineering ist, wie ich UML-Diagramme erstelle und wie ich in Assembler maschinennah entwickeln kann. Doch eines hat mir immer gefehlt: Wie kommt die Software am Ende zum Kunden? Der Betrieb war nie wirklich Teil meiner Ausbildung gewesen. Es geht mir um Fragen wie:

  • Wie wird die Software gebaut und verpackt?

  • Wie wird die Software ausgeliefert?

  • Was passiert, wenn die Software mal nicht funktioniert?

Meistens habe ich meine eigene Entwicklung auf meinem Rechner oder in der IDE laufen lassen. Auf meine Fragen zum letzten Puzzlestück konnte mir lange Zeit niemand eine zufriedenstellende Antwort geben.

Ich habe dual studiert, und in den Praxisphasen habe ich in Abteilungen gearbeitet, die Softwarekonzepte erstellten. Meine Kollegen haben sich Gedanken darüber gemacht, welche Anforderungen das Business hat, wie das in Software gegossen werden könnte, und haben seitenweise Spezifikationen geschrieben und UML-Diagramme gemalt. Die Software wurde dann von Partnerunternehmen on- und offshore entwickelt, was meist suboptimal funktioniert hat. Es waren klassische Wasserfall-Projekte. Auch hier habe ich den Prozess der Softwareentwicklung nie von Anfang bis Ende verstanden. Ich dachte immer: »Da fehlt doch was. Irgendwie passt das noch nicht.« Und manchmal dachte ich: »Vielleicht bin ich dafür einfach zu blöd.«

Heute weiß ich, dass ich nicht zu blöd bin und mir einfach nur das letzte kleine Puzzlestück gefehlt hat. Nach dem Studium kam ich zum ersten Mal in den Kontakt mit moderner agiler Softwareentwicklung. Ein Team konzipiert, entwickelt und liefert die Software aus, und ein anderes macht dafür den Betrieb. Das war auch das erste Mal, dass ich die Begriffe Cloud, Docker und Kubernetes gehört habe. Die agile Softwareentwicklung war mir im Studium schon begegnet, doch die ganzen Tools waren mir neu. Meine Welt wurde komplett auf den Kopf gestellt.

Virtuelle Maschinen kannte ich noch von der Ausbildung, und ich wusste auch, dass eine Cloud mehr als nur ein Speicherdienst wie Dropbox oder OneDrive ist. Heute bin ich unter anderem zertifizierter AWS Certified Solutions Architect – Professional, und während ich über meine Vergangenheit schreibe, muss ich schmunzeln. Die Welt der IT ist so viel größer, als ich sie mir je hätte vorstellen können, und ich habe wirklich meine Leidenschaft entdeckt.

Seitdem ich mit der Cloud, Docker und Kubernetes arbeite, fühlt es sich für mich rund an. Mir ist jetzt klar, wie moderner Softwarebetrieb funktioniert und was dafür notwendig ist. Mit diesem Buch möchte ich Sie an meinen Erkenntnissen teilhaben lassen.

2017 habe ich auf der Plattform Udemy einen Onlinekurs über den Einstieg in Docker veröffentlicht. Ich hatte das Ziel, den Einstieg einfacher zu machen. Damit die Teilnehmenden ein Gefühl für Docker bekommen, indem sie selbst ins Tun kommen. Mir hat das nämlich bis dato im dualen Studium gefehlt. Ich bin Praktiker und lerne am besten, wenn ich etwas mit meinen eigenen Händen mache.

Auch dieses Buch ist so geschrieben, dass Sie einen schnellen Einstieg in das Thema Kubernetes bekommen. Sie werden selbst ein Cluster aufbauen und erste Services deployen. Ich nehme Sie mit auf die Reise und werde Sie strukturiert an das Thema heranführen. Ich liebe es, wenn es einfach ist. Kompliziert wird es ganz von allein und schnell genug, deswegen werden Sie Schritt für Schritt alles lernen, was wichtig ist, um die Software fit für Kubernetes zu machen.

Danksagung


Mein Sohn Levi Ace: Du zeigst mir jeden Tag, was im Leben wirklich wichtig ist.

Meine Frau Nicole: Danke, dass du mir immer den Rücken freihältst, auch wenn ich bis spät in die Nacht am Buch schreibe.

Mein bester Freund und Geschäftspartner Fabian: Danke für die gemeinsame Reise seit über einer Dekade.

1.1    Gliederung


Lassen Sie mich kurz darauf eingehen, was Sie auf den nächsten Seiten erwarten wird. Sie sind schon mittendrin im ersten Kapitel. Ich möchte Sie dort abholen, wo Sie stehen, und Sie einführen in das, was Sie erwartet.

Kapitel 2 und Kapitel 3 habe ich für Sie wie ein Tutorial konzipiert. Jeder Abschnitt baut auf dem anderen auf. Sie werden Grundlagen und Konzepte lernen und dann sehr schnell ins Tun kommen. Nach diesen Kapiteln sind Sie bereit für Kubernetes und können dann einzelne Themen vertiefen. Denn ab Kapitel 4 werden wir uns einzelne Aspekte genauer ansehen. Diese Kapitel können Sie in der Reihenfolge lesen, in der Sie es gerade brauchen.

Hinweis


Manche Abschnitte in Kapitel 2 und Kapitel 3 sind sehr gut zum Nachlesen geeignet. Wenn Sie in einem bestimmten Abschnitt das Gefühl haben: »Gerade nicht der richtige Moment«, dann lesen Sie es gerne quer. Dadurch füttern Sie Ihr Unterbewusstsein und kommen bei Bedarf wieder darauf zurück, um genauer nachzulesen.

In Kapitel 4 nehme ich Sie mit zum Thema Infrastructure as Code. Sie lernen YAML und den Unterschied zwischen deklarativer und imperativer Arbeit kennen.

Hinweis


Sie werden in Kapitel 3 schon mit YAML und Infrastructure as Code arbeiten. Sie können dann gerne zu Kapitel 4 springen und einen kleinen Exkurs machen, bevor Sie mit Kapitel 3 weitermachen.

In Kapitel 5 werden wir in fortgeschrittenere Konzepte und Objekte einsteigen.

Kapitel 6 widmet sich dem Thema Storage- und Stateful-Anwendungen. Was machen Sie mit Anwendungen, die wie Datenbanken einen State haben? Welche Arten von Storage gibt es in Kubernetes, und wie können Sie Ihre Daten am besten verwalten.

Ein großes Thema in der IT ist Security und Governance. Dazu werde ich Sie in Kapitel 7 in Themen wie User- und Rechteverwaltung, Pod Security und Kubernetes Policies einführen. Sie werden die Grundlagen kennenlernen, um Ihre Anwendung auf die Produktion vorbereiten zu können.

In Kapitel 8 werden Sie alles lernen, was Sie wissen müssen, um Ihre Anwendung »ready for Production« zu machen: Ressourcen-Management, Health Checks und Skalierung für Ihre Anwendungen.

Last, but not least werden Sie in Kapitel 9 den Kubernetes-Paketmanager Helm kennenlernen. Schon in früheren Kapiteln werden Sie Helm einsetzen, um in Beispielen fertige Anwendungen zu deployen. Helm wird Ihnen die Welt als Entwickler sehr einfach machen und Ihnen dabei helfen, Ihre Anwendung fit für mehrere Umgebungen zu machen.

1.1.1    Was Sie schon wissen sollten


Kubernetes ist eine Software, die auf anderen Themen wie beispielsweise Container aufbaut, die selbst Bücher füllen. Aus diesem Grund gibt es einige Voraussetzungen, die in diesem Buch erwartet werden, damit Sie schnell an das Thema Kubernetes herangeführt werden und wir uns nicht in den Details verstricken.

Das Tool Kubernetes ist ein Container-Management-System. Grundlegendes Wissen über Container ist daher notwendig. Fragen wie die folgenden sollten Sie beantworten können:

  • Was ist ein Container?

    ...

Erscheint lt. Verlag 3.5.2024
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Betriebssysteme / Server
Mathematik / Informatik Informatik Netzwerke
ISBN-10 3-8362-9885-6 / 3836298856
ISBN-13 978-3-8362-9885-8 / 9783836298858
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 7,6 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Praxisbuch für Administratoren und DevOps-Teams

von Axel Miesen

eBook Download (2022)
Rheinwerk Computing (Verlag)
27,93