Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Willkommen bei Programming Kubernetes und vielen Dank, dass du dir Zeit für uns nimmst. Bevor wir uns ins kalte Wasser stürzen, wollen wir noch schnell ein paar administrative und organisatorische Dinge loswerden. Außerdem erzählen wir dir, warum wir dieses Buch geschrieben haben.

Wer sollte dieses Buch lesen?

Du bist ein Entwickler, der auf Cloud-Native umsteigt, oder ein AppOps- oder Namespace-Admin, der das Maximum aus Kubernetes herausholen will. Vanilla-Einstellungen reichen dir nicht mehr aus und du hast vielleicht etwas über Erweiterungspunkte gelernt. Das ist gut. Dann bist du hier richtig.

Warum wir dieses Buch geschrieben haben

Wir beide haben seit Anfang 2015 zu Kubernetes beigetragen, darüber geschrieben, es unterrichtet und genutzt. Wir haben Tools und Apps für Kubernetes entwickelt und mehrmals Workshops über die Entwicklung auf und mit Kubernetes gegeben. Irgendwann sagten wir uns: "Warum schreiben wir nicht ein Buch?" So könnten noch mehr Menschen asynchron und in ihrem eigenen Tempo lernen, wie man Kubernetes programmiert. Und hier sind wir. Wir hoffen, du hast genauso viel Spaß beim Lesen des Buches wie wir beim Schreiben.

Ökosystem

Unter steht das Kubernetes-Ökosystem noch ganz am Anfang. Zwar hat sich Kubernetes Anfang 2018 als Industriestandard für die Verwaltung von Containern (und deren Lebenszyklen) etabliert, aber es besteht immer noch Bedarf an guten Praktiken für das Schreiben nativer Anwendungen. Die grundlegenden Bausteine, wie z. B. client-goDie grundlegenden Bausteine, wie z. B. Container, benutzerdefinierte Ressourcen und Cloud-native Programmiersprachen, sind vorhanden. Allerdings ist ein Großteil des Wissens in den Köpfen der Menschen verstreut und über Tausende von Slack-Kanälen und StackOverflow-Antworten verstreut.

Hinweis

Zum Zeitpunkt der Erstellung dieses Artikels war die letzte stabile Version von Kubernetes 1.15. Die kompilierten Beispiele sollten auch mit älteren Versionen (bis 1.12) funktionieren, aber wir stützen den Code auf neuere Versionen der Bibliotheken, die 1.14 entsprechen. Einige der fortgeschrittenen CRD-Funktionen erfordern 1.13- oder 1.14-Cluster, die CRD-Konvertierung in Kapitel 9 sogar 1.15. Wenn du keinen Zugang zu einem aktuellen Cluster hast, empfiehlt sich die Verwendung von Minikube oder kind auf der lokalen Workstation.

Technologie, die du verstehen musst

Dieses mittelschwere Buch setzt ein minimales Verständnis einiger Entwicklungs- und Systemadministrationskonzepte voraus. Bevor du einsteigst, solltest du dir die folgenden Punkte ansehen:

Paket Management

Die Tools in diesem Buch haben oft mehrere Abhängigkeiten, die du durch die Installation einiger Pakete erfüllen musst. Deshalb ist es wichtig, dass du das Paketverwaltungssystem auf deinem Rechner kennst. Das kann apt auf Ubuntu/Debian-Systemen, yum auf CentOS/RHEL-Systemen oder port oder brew auf macOS sein. Was auch immer es ist, stelle sicher, dass du weißt, wie man Pakete installiert, aktualisiert und entfernt.

Git

Git hat sich als Standard für die verteilte Versionskontrolle etabliert. Wenn du bereits mit CVS und SVN vertraut bist, aber Git noch nicht benutzt hast, solltest du das nachholen. Versionskontrolle mit Git von Jon Loeliger und Matthew McCullough (O'Reilly) ist ein guter Startpunkt. Zusammen mit Git ist die GitHub-Website eine großartige Ressource, um mit einem eigenen gehosteten Repository zu beginnen. Wenn du mehr über GitHub erfahren möchtest, schau dir die Schulungsangebote und das dazugehörige interaktive Tutorial an.

Geh

Kubernetes ist in Go geschrieben. In den letzten Jahren hat sich Go bei vielen Startups und systembezogenen Open-Source-Projekten als neue Programmiersprache durchgesetzt. In diesem Buch geht es nicht darum, dir Go beizubringen, sondern es zeigt dir, wie du Kubernetes mit Go programmieren kannst. Du kannst Go mit Hilfe verschiedener Ressourcen lernen, von der Online-Dokumentation auf der Go-Website über Blogbeiträge und Vorträge bis hin zu einer Reihe von Büchern.

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. Wird auch für Befehle und Befehlszeilenausgaben verwendet.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wörtlich eingegeben werden muss.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

Code-Beispiele verwenden

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Die im Buch verwendeten Codebeispiele findest du in der GitHub-Organisation für dieses Buch.

Wenn mit 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. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. 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 Erlaubnis erforderlich.

Wir freuen uns über eine Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Ein Beispiel: "Kubernetes programmieren von Michael Hausenblas und Stefan Schimanski (O'Reilly). Copyright 2019 Michael Hausenblas und Stefan Schimanski."

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 kontaktieren

Kubernetes-Manifeste, Codebeispiele und andere Skripte, die in diesem Buch verwendet werden, sind über GitHub verfügbar. Du kannst diese Repositories klonen, zum entsprechenden Kapitel und Rezept gehen und den Code so verwenden, wie er ist.

O'Reilly Online Learning

Hinweis

Seit fast 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, Konferenzen 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 findest du unter http://oreilly.com.

Wie du uns kontaktierst

Bitte wende dich unter mit Kommentaren 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 zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/pr-kubernetes aufrufen .

Schreib eine E-Mail an , um Kommentare oder technische Fragen zu diesem Buch zu stellen.

Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.

Finde uns auf Facebook: http://facebook.com/oreilly

Folge uns auf Twitter: http://twitter.com/oreillymedia

Schau uns auf YouTube: http://www.youtube.com/oreillymedia

Danksagungen

Ein großes Dankeschön geht an die Kubernetes-Community für die Entwicklung dieser großartigen Software und dafür, dass sie ein großartiger Haufen von Menschen ist - offen, freundlich und immer bereit zu helfen. Außerdem sind wir unseren technischen Prüfern sehr dankbar: Ahmed Belgana, Michael Gasch, Dimitris Gkanatsios, Mingding Han, Jess Males, Max Neunhöffer, Ewout Prangsma und Adrien Trouillaud. Ihr alle habt uns sehr wertvolles und umsetzbares Feedback gegeben und das Buch für den Leser noch lesbarer und nützlicher gemacht. Vielen Dank für eure Zeit und Mühe!

Michael möchte seiner großartigen und unterstützenden Familie seinen tiefsten Dank aussprechen: meiner verdammt klugen und lustigen Frau Anneliese, unseren Kindern Saphira, Ranya und Iannis und unserem fast noch jungen Welpen Snoopy.

Stefan möchte sich bei seiner Frau Clelia bedanken, die ihn immer unterstützt und ermutigt hat, wenn er mal wieder "am Buch gearbeitet" hat. Ohne sie würde es dieses Buch nicht geben. Wenn du in dem Buch Tippfehler findest, ist die Wahrscheinlichkeit groß, dass sie von den beiden Katzen Nino und Kira stammen.

Zu guter Letzt danken die beiden Autoren dem O'Reilly-Team, insbesondere Virginia Wilson, dafür, dass sie uns durch den Prozess des Schreibens dieses Buches begleitet und dafür gesorgt haben, dass wir pünktlich und in der erwarteten Qualität liefern konnten.

Get Kubernetes programmieren 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.