So erstellen Sie CRD in Kubernetes

So erstellen Sie CRD in Kubernetes
Lassen Sie uns lernen, die CRD in Kubernetes in diesem Artikel zu erstellen. In diesem Tutorial werden Sie Sie zum Erstellen von CRD in Kubernetes und dann einen Kubernetes -Controller erstellen, mit dem die Instanzerstellungsanforderungen von CRD behandelt werden können. Wir würden jeden Schritt mit Hilfe von Beispielen demonstrieren, um Ihnen dabei zu helfen, die Arbeit des CRD zusammen mit dem Controller -Objekt vollständig zu verstehen. Also lasst uns anfangen!

Was ist CRD in Kubernetes?

CRD steht für benutzerdefinierte Ressourcendefinition für neue Ressourcen, ohne einen anderen API -Server hinzuzufügen. Um mit CRDs zu arbeiten, müssen Sie die API -Aggregation nicht verstehen. Es ist eine sehr leistungsstarke Funktion, die in Kubernetes 1 eingeführt wird.7 mit verschiedenen eingebauten Ressourcen und API-Objekten versendet werden. Sie können benutzerdefinierte Ressourcen mit einem Schema und Namen Ihrer Wahl definieren.

CRDs erweitern die Kubernetes -API -Fähigkeiten, die die Standardinstallation überschreiten, indem die benutzerdefinierten Ressourcendefinitionen verwendet werden. Durch die Verwendung von CRDs können Sie Kubernetes auf eine Weise führen, die mehr als nur Container verarbeiten kann. Sie können eine benutzerdefinierte Ressource Ihrer eigenen Wahl erstellen und sie mithilfe der benutzerdefinierten Controller deklarativ gestalten. Lassen Sie uns nun erfahren. Und wie man CDR löscht, um seine Auswirkungen auf Kubernetes zu sehen.

Voraussetzung

Bevor wir uns mit den CRD -Erstellungs- und Löschungsschritten fortsetzen, stellen wir sicher, dass unser System alle Bedürfnisse der Voraussetzungen entspricht.

  • Ubuntu 20.04 oder eine andere neueste Version, in der eine Linux/Unix -Umgebung funktioniert.
  • Kubernetes Cluster.
  • Kubectl CLI, um Kubectl -Befehle, Clusterkommunikation und die Entwicklungsumgebung zu verwalten.
  • Minikube oder ein anderer Kubernetes -Spielplatz zum Erstellen der Cluster

Installieren Sie diese Tools, wenn Sie sie noch nicht installiert haben, bevor Sie mit dem nächsten Abschnitt fortfahren.

Jetzt werden wir uns mit der Schritt-für-Schritt-Anleitung zum Erstellen von CRDs in Kubernetes übergeben.

Schritt 1: Kubernetes starten

Um mit CDRs zu arbeiten, müssen Sie einen Cluster mit mindestens zwei Kubernetes -Knoten haben, die nicht als Kontrollebene -Hosts funktionieren. Wir verwenden das Minikube, um den Cluster zu erstellen und zu verwenden. Verwenden Sie also den unten angegebenen Befehl, um den Minikube zu starten:

> Minikube Start

Wenn Sie diesen Befehl ausführen, erhalten Sie eine ähnliche Ausgabe wie unten angegeben:

Schritt 2: Öffnen oder erstellen Sie eine Konfigurationsdatei

Lassen Sie uns nun, da unsere Minikube in Betrieb ist, die Konfigurationsdatei öffnen. Mit dem Befehl "Nano" werden die Konfigurationsdateien geöffnet. Alles, was Sie tun müssen, ist, den Dateinamen neben dem Befehl nano anzugeben, gefolgt von der Dateierweiterung und drücken Sie die Eingabetaste. Hier haben wir das 'Rot.YAML 'Datei, die die Konfigurationsdetails zum Erstellen der CRDs enthält. Hier ist der gesamte Befehl nano, mit dem Sie Ihre gewünschte Datei öffnen können:

> Nano Rot.Yaml

Wenn Sie diesen Befehl ausführen, wird die folgende Datei in Ihrem Terminal geöffnet:

Schritt 3: Erstellen Sie eine Endpunktressource

Die Konfigurationsressourcen wurden rot gespeichert.Yaml. Wir werden das verwenden, um den neuen namensspattigen Rastful -API -Endpunkt zu erstellen. Kubectl bietet den Befehl 'anwenden', um einen Endpunkt aus einer Konfigurationsdatei zu erstellen. Hier ist der vollständige Befehl "Anwenden", mit dem die neue Namensabful -API neuer Namen erstellt wird:

> kubectl anwenden -f rot.Yaml

Der von diesem Befehl erstellte Endpunkt wird verwendet, um das benutzerdefinierte Objekt zu erstellen, das die CRD steuert. Die folgende Ausgabe wird für die Namespace -Ressource generiert:

Schritt 4: Erstellen Sie ein benutzerdefiniertes Objekt, um die CRD zu steuern

Die CRDs werden von den benutzerdefinierten Objekten gesteuert. Wir können sie erstellen, sobald die benutzerdefinierte Ressourcendefinition erstellt wurde. Die benutzerdefinierten Objekte enthalten die benutzerdefinierten Felder des willkürlichen JSON. Um das benutzerdefinierte Objekt zu erstellen, benötigen wir erneut eine YAML -Konfigurationsdatei. Verwenden Sie den Befehl "nano", um die YAML -Konfigurationsdatei zu erstellen:

> Nano ct.Yaml

Speichern Sie die erforderlichen Felder mit den spezifischen Details in der YAML -Datei. Die Beispielkonfigurationsdetails sind in der Stichprobe unten angezeigt:

Verwenden Sie nun dieselbe YAML -Datei, um das benutzerdefinierte Objekt zu erstellen. Verwenden Sie den Befehl 'anwenden', um das benutzerdefinierte Objekt aus der angegebenen YAML -Datei zu erstellen. Siehe den unten angegebenen vollständigen Befehl:

> kubectl anwenden -f ct.Yaml

Nach erfolgreicher Ausführung dieses Befehls erhalten Sie die folgende Ausgabe:

Schritt 5: Verwalten Sie die CRD mit einem benutzerdefinierten Objekt

Die benutzerdefinierten Objekte werden verwendet, um die CRDs zu verwalten. Lassen Sie uns erfahren, wie wir das kürzlich erstellte benutzerdefinierte Objekt verwenden können, um die bereits erstellte CRD zu verwalten. Hier überprüfen wir die Details, die das benutzerdefinierte Objekt enthalten, indem wir den Befehl "GET" verwenden. Siehe den Befehl im Code -Snippet unten:

> Kubectl bekommen Crontab

Wenn Sie diesen Befehl im Minikube -Terminal ausführen, wird die folgende Ausgabe erzeugt:

Wenn Sie die in der YAML -Datei enthaltenen Rohdaten überprüfen möchten, können Sie diesen Befehl verwenden:

> kubectl bekommen ct -o yaml

Dadurch werden die Rohdaten in der YAML -Datei angezeigt, wie das unten angegebene Beispiel:

So können wir die CRD und ein benutzerdefiniertes Objekt erstellen, um die erstellte CRD zu verwalten und zu steuern. Wenn Sie nun die erstellte CRD löschen möchten, können Sie die unten angegebene Prozedur befolgen.

So löschen Sie die in Kubernetes erstellten CRDs?

Mit den Befehlen kubectl können Sie die CRDs in Kubernetes löschen. Wenn Sie versuchen, die CRD in Kubernetes zu löschen, werden auch die damit verbundenen benutzerdefinierten Ressourcen gelöscht. Der Kubectl bietet den Befehl 'löschen', um eine Ressource zu löschen. Der unten angegebene Befehl wird verwendet, um die CRD zu löschen, die wir in den obigen Schritten erstellt haben:

> kubectl löschen -f rot.Yaml

Nach erfolgreicher Ausführung dieses Befehls erhalten Sie das folgende Ergebnis:

Nachdem die CRD und die damit verbundenen benutzerdefinierten Objekte gelöscht wurden, erhalten Sie einen Fehler vom Server, wenn Sie versuchen, darauf zuzugreifen. Sehen Sie sich den folgenden Befehl an, in dem wir versuchen, auf die namespaierte erholsame API zuzugreifen:

> Kubeclt bekommen Crontabs

Da die "Crontabs" gelöscht wurden, erhöht der Server den Fehler für diese Aktion. Siehe die folgende Ausgabe dieses Befehls:

Abschluss

Dieser Artikel war ein kurzer Überblick über das Erstellen der benutzerdefinierten Ressourcendefinition, das Erstellen eines benutzerdefinierten Objekts zur Steuerung der CRDs und zum Löschen der CRD von Kubernetes. Mit Hilfe von Beispielbeispielen haben wir jeden Schritt gezeigt, um den Prozess einfach und schnell zu verstehen.