Was ist der Befehl kubectl patch

Was ist der Befehl kubectl patch
Kubernetes bietet verschiedene Methoden zum Aktualisieren von Ressourcen: Bearbeiten, Bewerben, Patch und Ersetzen. Heute ist unser Diskussionsthema der Befehl Kubectl Patch oder Patch. Wenn Sie über Kubectl CLI mit Kubernetes -Clustern kommunizieren, sind Sie möglicherweise mit der Bearbeitung oder Anwendung von Unterbefehlern vertraut. Genau wie diese beiden Befehle sind wir mit dem Patch -Befehl von Kubectl weniger vertraut. Mit dem Patch -Befehl können Sie einen Teil einer Ressourcenspezifikation ändern und den geänderten Teil der CLI angeben. Während der Aktualisierung einer Ressource ist es gut, sie zu patchen. Es gibt drei Arten von Patching, ich.e., Strategic, JSON Merge Patch und JSON Patch.

Der strategische Typ-Merge-Typ versucht, „das genaue Ding zu tun“, wenn die angegebene Spezifikation mit der aktuellen Spezifikation verschmelzen. Explizit versucht es, sowohl Arrays als auch Objekte zusammenzuführen. Zum Beispiel führt die Angabe eines Patch. Das Löschen eines Array -Elements über einen strategischen Zusammenführungs -Patch ist schwieriger, was die Verwendung von Zusammenführungsaufträgen erfordert.

Wie der strategische Ansatz nimmt die JSON Merge Patch -Methode eine teilweise Kubernetes -Spezifikation als Eingabe an und hält die Zusammenführungsobjekte. Dieser Weg ist von dem oben genannten Ansatz sehr unterschiedlich, da er nur das Ersetzen von Arrays unterstützt. Während Sie diesen Ansatz verwenden, müssen Sie die vollen Spezifikationen für alle Container streamen. Wenn Sie eine Containereigenschaft in der CLI ändern müssen, können Sie JSON Merge Patch über den Kubectl -Patch auswählen.

Andererseits verwendet die JSON -Patch -Methode eine JSON -Abbildung der Variationen, die Sie an eine Ressource machen möchten. JSON Patch ist eine robustere und effizientere Möglichkeit, die Änderungen anzugeben, die Sie vornehmen möchten.

Voraussetzungen

Wir brauchen einen Kubernetes -Cluster oder eine Kubectl -CLI -Konfiguration, um mit dem Cluster zu interagieren. Wenn Sie keinen Cluster haben, müssen Sie mit Hilfe von Minikube eines generieren. Während der Arbeit mit Patch -Befehlen in Kubernetes müssen wir den Minikube -Cluster in Ihrem System installieren, um Kubernetes unter Linux auszuführen.

Kubectl Patch -Befehl

Kommen Sie und veranschaulichen wir die Arbeit von Patch -Befehlen mit Hilfe von Kubectl -Befehlen oder -anweisungen.

Schreiben Sie in der App -Suchleiste "Terminal" oder drücken Sie die Tastatur "Strg+Alt+T" gleichzeitig. Schreiben Sie nun den Befehl „Minikube Start“ im Terminal und warten Sie eine Weile, bis er erfolgreich beginnt.

$ minikube Start

Während der Arbeit mit Patch -Befehlen müssen wir zunächst eine Bereitstellung in Kubernetes generieren. Zu diesem Zweck verwenden wir Touch -Bereitstellung.YAML -Befehl zum Erstellen einer Datei in Ubuntu 20.04, und das Touch -Schlüsselwort wird verwendet, um eine Datei zu generieren.

$ touch bereitgestellt1.Yaml

Speichern und führen Sie die Kubectl -Befehlsdatei durch und führen Sie sie aus. Sie werden dann die erfolgreich erstellte Datei anzeigen.

Die unten erwähnte Konfigurationsdatei für Bereitstellungen verfügt.

Um die Bereitstellung zu erstellen, verwenden wir den Dateinamen "anwenden -f" mit dem Dateinamen, um die Bereitstellung erfolgreich zu erstellen.

$ kubectl anwenden -f -Bereitstellung1.Yaml

Um die Informationen anzuzeigen oder Pods zu überprüfen, die mit Ihrer Bereitstellung verknüpft sind, verwenden wir den Befehl Get Pods, genau wie im folgenden Screenshot:

Nachdem Sie den obigen Befehl ausgeführt haben.

Denken Sie daran, dass der Name die derzeit laufenden Pods angibt. Nach ein paar Minuten werden Sie dann sehen, dass diese Schoten von neuen beendet und ausgetauscht werden.

$ kubectl bekommen Pods

Zu diesem Zeitpunkt enthält jeder Pod einen Container, der das Nginx -Bild ausführt. Wenn Sie jetzt jeden Schoten wünschen, hält zwei Container: eine, die Nginx ausführt und eine, die Redis ausführt. Generieren Sie für unseren folgenden Befehl eine Patch -Datei.

$ Touch Patchfile.Yaml

Nachdem Sie diesen Befehl ausgeführt haben, können Sie die PatchFile mit der “anzeigen“ anzeigen.yaml ”Erweiterung.

Nach dem Speichern und Öffnen der Datei können Sie anzeigen, dass Ihre "Patchfile" den gewünschten Inhalt enthält.

Jetzt liegt unser nächster Fokus darauf, die Bereitstellung zu patchen. Der folgende Befehl ist also sehr hilfreich für die Patch -Bereitstellung.

Um die Patched -Bereitstellung anzuzeigen, müssen Sie den folgenden Befehl ausführen. Das Ergebnis zeigt, dass der Podspec in der Bereitstellung zwei Container enthält:

Der folgende Befehl zeigt, ob die Pods mit Ihrer gepatchten Bereitstellung verknüpft sind oder nicht. In dieser Ausgabe haben die derzeit ausgeführten Pods Namen aus den früheren Schoten geändert, die früher ausgeführt wurden. Die Bereitstellung beendete die vorherigen Pods und erstellte zwei weitere neue Pods, die der aktualisierten Bereitstellungsspezifikation entsprechen.

$ kubectl bekommen Pods

Abschluss:

Hier in diesem Artikel haben wir das Konzept des Patch -Befehls in Kubernetes ausgearbeitet. Wir haben das Kubectl -Patch verwendet, um die Konfiguration der Live -Bereitstellungsobjekte zu ändern. Ich hoffe, Sie können jetzt das gesamte Konzept des Patchs in Kubernetes erfassen.