‫CRDs und das Operatormuster.
‫Hier fängt es an, mit Kubernetes wirklich
‫interessant zu werden. Denn wenn wir anfangen,
‫all diese Tools von Drittanbietern hinzuzufügen, gibt es all diese
‫APIs in Kubernetes, um sie zu erweitern.
‫Kubernetes selbst wird zu einer eigenen Plattform für Sie, auf der Sie Dinge
‫tun können, für die es nie entwickelt wurde oder für die Sie
‫nie gedacht hatten, dass es dies könnte.
‫Zuallererst können Sie Kubernetes Inhalte von Drittanbietern hinzufügen,
‫wenn Sie dies in diesem Kurs noch nicht bemerkt haben.
‫Es wird nicht nur die Kubernetes-API verwendet.
‫Mit benutzerdefinierten Ressourcen und Controllern können Sie jetzt
‫die API ändern.
‫Sie können die API tatsächlich verwenden,
‫um sie zu erweitern. Dann erhält auch
‫kubectl in der Befehlszeile neue Befehle und kann neue
‫Ressourcentypen und neue Controller erkennen. CoreOS hat vor
‫ein paar Jahren einen schönen Artikel über
‫das Operator-Pattern veröffentlicht, in dem es darum
‫ging, benutzerdefinierte Ressourcen und Steuerungen
‫so zu implementieren, dass Sie im Grunde
‫genommen komplizierte Software in Kubernetes verwenden
‫können, Kubernetes jedoch auch Kenntnis von
‫dieser Software. Wenn Sie ein
‫komplexes Überwachungssystem wie Prometheus hatten und
‫es bereitstellen, ausführen, auf dem neuesten Stand halten
‫und einfach alles damit machen wollten,
‫mussten Sie nicht unbedingt alle verschiedenen Teile
‫lernen davon und wie sie in Kubernetes arbeiten.
‫Einige von ihnen benötigen möglicherweise StatefulSet.
‫Einige benötigen möglicherweise Bereitstellungen und Dienste.
‫Manche brauchen vielleicht eine Art Cron Job.
‫Ich meine, es gibt all diese verschiedenen Arten von Ressourcen,
‫die möglicherweise benötigt werden, um eine voll funktionsfähige
‫Überwachungslösung zu erhalten.
‫Das ist nur ein Beispiel.
‫Grundsätzlich gibt es all diese Software, die dieses
‫Muster übernimmt und ihren eigenen benutzerdefinierten Code in Kubernetes
‫implementiert, um es zu erweitern.
‫Im Wesentlichen gibt es Kubectl-Befehle, mit denen
‫Sie diese Tools so bedienen können, als ob sie
‫ursprünglich Teil von Kubernetes selbst wären.
‫Dies geschieht für alle Arten von Open-Source-Sachen, indem Sie
‫diese Sachen in ... In den Ressourcen finden Sie eine Reihe
‫von Listen und verschiedene Websites, auf denen Sie diese
‫Dinge tatsächlich finden können.
‫Sie stellen sich diese als sehr komplexe
‫YAML-Dateien vor, die nicht nur die Bereitstellung und
‫Ausführung von Inhalten ermöglichen, sondern auch Befehle
‫und andere APIs enthalten, die über
‫Kubernetes selbst hinausgehen.
‫Es ist ein ziemlich aufregendes Gebiet, weil es ziemlich
‫neu ist und nur zeigt, wie Kubernetes
‫alles übernimmt. Es gibt keine Grenzen
‫für das, was es nicht verwalten und kontrollieren kann.
‫Ich würde sagen, dass Sie hier natürlich nicht
‫alles hinzufügen möchten, da jeder von
‫diesen seine eigenen Informationen zu Kubernetes in die ETCD-Datenbank hinzufügt,
‫die API und die Steuerebene erweitert und all das Zeug.
‫Dies könnte ein potenzieller Bereich
‫sein, in dem Sie, wenn Sie zu viel hinzufügen, zu
‫viel Komplexität in Ihrem System selbst feststellen.
‫Zumindest für Dinge wie Überwachung, Datenbanken und
‫Backups sowie Protokollierung sind dies die Bereiche, in denen
‫ich mich darauf konzentrieren würde, CRDs und den
‫Operator-Mustertyp von Bereitstellungen zu ermitteln, anstatt nur
‫einen YAML zu finden, den Sie gesehen haben im Internet
‫und sagen, ich möchte dies
‫mit dieser YAML-Datei bereitstellen.
‫Dies gibt ihm mehr Intelligenz.
‫Es gibt viele Ressourcen auf jedem
‫dieser und natürlich würde jeder eine andere Implementierung
‫und Verwendung haben. Ich empfehle auf jeden Fall, sie jetzt zu
‫überprüfen, da sie existieren.