‫Einige der Befehle, die Sie bisher verwendet haben, sind ein wenig automatisiert und werden als Generatoren und Generatoren bezeichnet, die
‫Sie sich als Vorlagen vorstellen können.
‫Sie erstellen im Wesentlichen die Spezifikation oder die Spezifikation, die auf den kubanischen Wirbel-Cluster angewendet werden soll, basierend
‫auf Ihren Befehlszeilenoptionen.
‫Sie denken also an Befehle wie Ausführen und Anzeigen und Erstellen.
‫Oft haben sie Generatoren hinter sich, die die erforderliche Vorlage mit allen Feldern und Standardwerten angeben, die
‫Sie nicht unbedingt in der Befehlszeile angeben müssen.
‫Im Wesentlichen besteht der Sinn dieser Generatoren darin, Ihnen die Verwendung von Befehlen mit einer
‫Zeile zu erleichtern, wie Sie es gewohnt sind, diese Befehle mit einer Zeile in kubanischen Wirbeln zu verwenden,
‫während einige der erweiterten Einstellungen erhalten bleiben zu Standardwerten und wirklich zu schwärmen hat eine Menge Standardwerte,
‫wenn Sie Services und Stacks erstellen, die alle im Hintergrund ablaufen und die Sie
‫nicht kennen.
‫Also diese Generatoren sind so.
‫Hier ein Beispiel, in dem wir eine Implementierung mit dem Befehl create erstellen
‫und dieser eine Reihe von Optionen zur Erfüllung der Mindestanforderungen geben. Der Rest der Spezifikation wird mit einem
‫Generator gefüllt.
‫Diese Generatoren unterscheiden sich nun für jede Art von Dingen, die Sie erstellen, unabhängig davon, ob es sich um einen Service oder
‫eine Bereitstellung oder einen Job oder einen Cron-Job handelt.
‫Andere Dinge, über die wir später sprechen werden, und diese Generatoren können sich im Laufe der Zeit tatsächlich ändern, wenn
‫jede Version von Communities herauskommt, dass sie möglicherweise eine oder zwei Eigenschaften dieser Spezifikation ändern.
‫Und so gibt es manchmal Versionen, wenn Sie in der Dokumentation gesehen haben, sehen Sie möglicherweise einige Yama für
‫kubanische Entitäten, die etwas über BDA aussagen.
‫Nun, wenn ein Generator zum ersten Mal erstellt wird, hat er möglicherweise eine Beta-Version und dann, wenn er
‫zu einem ausgereiften Generator wird, eine v1.
‫Jetzt können wir nicht wirklich eine Liste von Generatoren in der Befehlszeile abrufen, da sie verschiedene Befehle
‫und verschiedene Optionen umfasst, welche Generatoren verwendet werden könnten.
‫Der einfachste Weg, hier in all diesen verschiedenen Befehlen zu sehen, was generiert werden würde, wenn Sie
‫diesen Befehl für einen Cluster eingeben, besteht darin, zwei Optionen zu verwenden.
‫Der Probelauf ist eine sehr gute Möglichkeit, die Ausgabe Ihrer Eingaben anzuzeigen. Das wird in einer Sekunde angezeigt, und dann der
‫Strich 0, was Ausgabe bedeutet, und wir sagen, wir wollen eine Ausgabe im Jemen, also sind wir im Grunde genommen Wenn Sie
‫sagen, führen Sie diesen Befehl aus, aber tun Sie es technisch nicht auf dem Cluster. Probieren Sie es einfach aus,
‫um zu sehen, was passieren würde, wenn ich es tun würde, und zeigen Sie mir gleichzeitig die Yamato-Ausgabe dessen, was generiert würde,
‫wenn ich diesen Befehl und Sie beenden Ich bekomme im Wesentlichen nette kleine Vorlagen und Sie können
‫sogar damit anfangen, eine eigene Demo zu erstellen, die wir in späteren Vorlesungen und schließlich in Generatoren hier verwenden werden.
‫Sie können sie auch als Standardwerte betrachten.
‫Sie sind wirklich nicht der Meinung, dass sie super klein sind.
‫In der Regel sind es 10 bis 15 Zeilen UML, nur das Nötigste, um einen Anfang zu machen.
‫Sie haben jedoch Meinungen, weshalb sie Versionen haben, und vielleicht sehen Sie einen Beta-Absolventen
‫und so weiter.
‫Ich halte sie für eigenwillig, aber für die meisten Anwendungsfälle, in denen Sie nur Dinge für
‫den Devin-Test ausprobieren, sind sie in Ordnung.
‫Lassen Sie uns ein paar Beispiele durchgehen, um diese Generatoren in der Befehlszeile anzuzeigen.
‫Bei der ersten hier handelt es sich um eine Bereitstellung, die wir vor dem Erstellen
‫der Bereitstellung verwendet haben, und Sie werden feststellen, dass ich den Gedankenstrich Trockenlauf am Ende setze. Wenn Sie nur einen Trockenlauf ausführen, wird nur die Art der
‫Ressource ausgespuckt würde erschaffen.
‫Dies ähnelt also dem Namen der Ressource, die wir sehen, wenn wir sie mit einem Cube-Steuerelement-Befehl "get" auflisten.
‫Aber wenn ich dort den Aufwärtspfeil drücke und am Ende dash o yam all eingebe, wird mir die Jemen-Ausgabe angezeigt, die
‫mit diesem Befehl generiert wurde, und wir werden später alle Spezifikationen durch den Jemen durchgehen, aber jetzt können
‫Sie die sehen Hauptteile dessen, was im Hintergrund gemacht wurde, als wir den Befehl create
‫deployment ausführten.
‫Zunächst wird der API-Version die Version dieser Art von Ressource angezeigt, sodass wir hier eine Version von Apps Slash v
‫1 verwenden.
‫Die Art ist die Bereitstellung, und das liegt daran, dass wir eine Bereitstellung erstellen.
‫Wenn es ein Job wäre, wäre es so ein Job, wenn es ein Service wäre, würde das so etwas heißen.
‫Die Metadaten sind immer für jede Ressource verfügbar, die Sie erstellen.
‫Es wird den optionalen Zeitstempel haben, da dieser automatisch generiert wird, wenn Sie dieses Ding wirklich erstellen, und
‫Sie dann Beschriftungen und dann ein Namensattribut haben, das Sie hier angeben können. In diesem Fall sehen Sie, dass es
‫mit einem gefüllt ist Vieles davon in Verbindung mit dem, was ich der Befehlszeile gegeben habe. Ich habe
‫gesagt, ich möchte es als Test bezeichnen.
‫Es gibt ihm einen Testnamen, es weist ihm eine App zu, da wir hier eine Bereitstellung verwenden. Es betrachtet
‫es als App, nicht als Service oder etwas anderes und nennt diesen Etikettentest.
‫Dies sind nur Standardeinstellungen, und dann sind die Spezifikationen für die Bereitstellung Replikate derjenigen, auf die der Selektor später zugreifen wird.
‫Dies ist jedoch im Wesentlichen die Grundlage für die Auswahl der Pods in dieser
‫Bereitstellung.
‫Grundsätzlich ist es das, was diese Bereitstellung mit ihren Pods und ihrer Strategie in Einklang bringt. Lassen
‫Sie dieses Feld leer. Die Vorlage hier ist für die Gruppe und dann sehen Sie unter dieser Spezifikation, welche Container erstellt werden.
‫Es ist also ein bisschen eine verschachtelte Ebene mit Spezifikationen im Gange, und das liegt an der Komplexität
‫dieser Ebenen.
‫Wir haben Pods, dann Replikatsets und darüber hinaus Bereitstellungen.
‫Sie können also sehen, dass dies alles im Handumdrehen erstellt wird, und wir werden dies auf die API anwenden, wenn wir diesen Befehl
‫drücken.
‫Lassen Sie uns hier ein paar weitere erstellen.
‫Im zweiten Fall werden Jobs anstelle von Bereitstellungen verwendet.
‫Daher ist es normalerweise so konzipiert, dass Sie eine Reihe von Pfaden erstellen möchten, die einmal ausgeführt werden.
‫Daher werden sie standardmäßig so eingestellt, dass sie nicht neu starten.
‫In diesem Fall verwenden wir dasselbe Bild mit demselben Namen.
‫Wir werden es mit der Dash-Ausgabe Jamil trocken laufen lassen, und Sie werden sehen, wie unterschiedlich es ist.
‫In diesem Fall benötigen wir die verschiedenen Spezifikationsebenen nicht und Sie werden sehen, dass die mehreren Ebenen
‫einer Bereitstellung mit darin verschachtelten Replikatgruppen nicht vorhanden sind.
‫Zuallererst ist diese viel kürzer und das liegt hauptsächlich an der Tatsache, dass bei
‫Bereitstellungen ein verschachtelter Replikatsatz erstellt wird, der dann den Pod erstellt, sodass dort mehrere Ebenen vorhanden sind.
‫Waren hier.
‫Wir haben wirklich nur diesen Stapeljob, der Pods direkt für uns erstellt, sodass Sie oben in der API-Version sehen können
‫und die Art, in der beide die Metadaten geändert haben, sehr ähnlich ist, obwohl in
‫diesem Fall kein App-Label erstellt wurde und die Spezifikation einfach ist für die Jobs und dann darunter die Spezifikation drin.
‫Es ist in dieser Vorlage die Spezifikation für jeden Container Pod rechts.
‫Also würde diese eine Spezifikation für so viele erstellt werden, wie ich darum gebeten habe.
‫Standardmäßig haben wir nur einen Container erstellt, sodass ein Container Engine X mit dem Namenstest ausführt. Sie
‫werden feststellen, dass die Neustartrichtlinie niemals angewendet wird. Dies ist die Änderung bei den meisten dieser anderen Methoden
‫zum Erstellen von Containern in kubanischen Städten.
‫Sie werden automatisch versuchen, einen Job neu zu erstellen oder neu zu starten. Bei einem Job oder später bei einem Cron-Job wird angezeigt,
‫dass die Neustartrichtlinie auf NIE festgelegt ist.
‫Denn in der Regel ist ein Auftrag erst erledigt, wenn er abgeschlossen ist, und Sie möchten ihn nicht mehr erstellen oder neu erstellen.
‫Und zuletzt machen wir einen Expose-Befehl.
‫Obwohl es hier einen Probelauf gibt, wenn Sie eine exponierte Bereitstellung ausführen, wird diese Bereitstellung überprüft und festgestellt, dass
‫sie nicht vorhanden ist, sodass Sie keine Beispielausgabe erhalten, da sie nicht über die
‫gültige Eingabe verfügt.
‫In diesem Fall müssen wir also technisch eine
‫Bereitstellung erstellen, und in dieser muss es nicht trocken laufen und ausgegeben werden, sondern wir wollten sie nur erstellen.
‫Also lass uns das einfach machen und dann gehen wir zurück zu diesem exponierten Befehl und versuchen es noch einmal und dann
‫wird dieser Trockenlauf dieses Mal funktionieren.
‫Wir werden also eine API-Version von V1 haben.
‫Sie werden feststellen, dass es sich bei dem Dienst jetzt nicht mehr um eine Bereitstellung oder einen Auftrag handelt.
‫Und dann haben wir noch andere ähnliche Labels.
‫Sie werden sehen, dass es in der Spezifikation nur um Ports und Protokolle geht, denn genau das ist ein Service.
‫Es ist die Kombination aus Netzwerkrouten und IP-Subnetz und den CCP- oder UDP-Ports und dergleichen.
‫Generatoren sind also nicht unbedingt eine große Sache.
‫Sie müssen sie nicht auswendig lernen oder die Unterschiede zwischen ihnen alle kennen, da viele
‫von ihnen mit dem Befehl cube control run verschwinden, wie Sie in einer Minute feststellen werden.
‫In einem späteren Vortrag werden wir dann mehr über die Art und Weise, wie Sie Container erstellen, und
‫vielleicht darüber sprechen, warum Sie nicht viel Zeit in Anspruch nehmen und in Ihren Produktions-Workloads erstellen.
‫Denken Sie auch daran, die Testbereitstellung zu löschen, wenn Sie sie für unseren letzten Befehl erstellt haben, in dem wir das Expose
‫getestet haben.