So verwenden Sie Kubectl Dry Run

So verwenden Sie Kubectl Dry Run
Deklarative Bildungsmanagement, auch Konfiguration als Code genannt, ist die Hauptstärke von Kubernetes. Dadurch können Benutzer den bevorzugten Status des Clusters festlegen, einen Pfad zu verschiedenen Formen geben und die Prüfung und Mechanisierung über die Pipeline verbessern. Es kann "Server" oder "Client" sein. Der Client -Ansatz druckt einfach die gerichteten Elemente, ohne sie zu leiten. Die Serverstrategie besteht darin, die serverseitigen Anforderungen zu leiten, ohne Ressourcen beizubehalten. Es gibt immer noch einige Mängel, um eine kontinuierliche deklarative Praxis mit Kubernetes zu erreichen. Der Compiler und der Verstürfter identifizieren Code -Pull -Anforderungsfehler ordnungsgemäß, aber es fehlen keine ordnungsgemäße Validierung des Kubernetes -Konfigurationsordners. Die aktuelle Lösung besteht darin, den Befehl 'kubectl anwenden aufzusetzen' auszuführen, der einen lokalen Trockenlauf ausführt und nicht mit dem Server kommuniziert. Es gibt keine Serverauthentifizierung und kann den Validierungszugriffscontroller nicht durchlaufen. Zum Beispiel werden Namen der Kundenressourcen zuerst auf dem Server bestätigt, sodass das Ausführen lokaler Trockenruns nutzlos ist. Zu wissen, wie ein Objekt von einem Server verwendet wird, kann aus mehreren Gründen schwierig sein.

Voraussetzungen:

Um die Befehle in Kubernetes auszuführen, müssen wir Ubuntu 20 installieren.04. Hier verwenden wir das Linux -Betriebssystem, um die Kubectl -Befehle auszuführen. Jetzt installieren wir den Minikube -Cluster, um Kubernetes unter Linux auszuführen. Minikube bietet ein äußerst reibungsloses Verständnis, da es einen effizienten Modus zum Testen der Befehle und Anwendungen bietet.

Lassen Sie uns sehen, wie Sie Kubectl Dry Run verwenden:

Starten Sie Minikube:

Nach der Installation des Minikube -Clusters starten wir die Ubuntu 20.04. Jetzt müssen wir ein Terminal öffnen, um die Befehle auszuführen. Zu diesem Zweck drücken wir die Kombination von 'Strg+Alt+T' von der Tastatur.

Im Terminal schreiben wir den Befehl 'Minikube Start' und danach warten wir eine Weile, bis er effektiv gestartet wird. Die Ausgabe dieses Befehls wird darunter angegeben.

Bei der Aktualisierung eines aktuellen Elements sendet Kubectl anwenden nur das Patch, nicht das vollständige Objekt. Das Drucken eines aktuellen oder ursprünglichen Elements im trockenen Modus ist nicht vollständig korrekt. Das Ergebnis der Kombination würde gedruckt werden.

Die serverseitige Anwendungslogik muss auf der Client-Seite verfügbar sein, damit Kubectl die Ergebnisse der Anwendung genau imitieren kann. Dies ist jedoch nicht das Ziel.

Die vorhandenen Anstrengungen konzentrieren sich auf die Beeinflussung der Anwendungslogik für den Server. Danach haben wir die Möglichkeit hinzugefügt, auf der Server-Seite zu trocknen. Kubectl-Anmelde-Trockenläuf.

Möglicherweise aktualisieren wir die Flag-Hilfe, geben eine Mitteilung aus, wenn bei der Bewertung von Elementen mithilfe von Anwendung die Grenzen von Trockenruns verwendet werden und den Server-Trockenlauf verwenden.

Der Kubectl -Diff sollte so sein, wie die Kubectl angewendet werden. Es zeigt die Unterschiede zwischen den Quellen in der Datei an. Wir können das ausgewählte Diff -Programm auch mit der Umgebungsvariablen verwenden.

Wenn wir die Kubectl verwenden, um den Service auf einen trockenen Cluster anzuwenden, erscheint das Ergebnis wie die Form des Dienstes, nicht die Ausgabe aus einem Ordner. Der zurückgegebene Inhalt muss lokale Ressourcen umfassen.

Konstruieren Sie eine YAML -Datei mit dem kommentierten Dienst und beziehen Sie sie mit dem Server. Ändern Sie die Notizen in der Datei und führen Sie den Befehl 'kubectl an, das –f -dry -run = client' anwenden. Die Ausgabe zeigt serverseitige Beobachtungen anstelle von geänderten Anmerkungen. Dadurch wird die YAML -Datei authentifiziert, sie jedoch nicht konstruieren. Das Konto, das wir zur Validierung verwenden.

Dies ist eine Instanz, in der -Dry -Run = Client nicht angemessen für das ist, was wir testen. Und diese besondere Erkrankung wird häufig beobachtet, wenn mehrere Personen den CLI -Zugang zu einem Cluster übertragen. Dies liegt daran.

Dieser Befehl kubectl liefert eine kurze Beobachtung der vom API -Server gespeicherten Ressourcen. Zahlreiche Felder werden von Apiserver gerettet und versteckt. Wir können den Befehl mit dem Ressourcenergebnis verwenden, um unsere Formationen und Befehle zu generieren. Zum Beispiel ist es schwierig, ein Problem in einem Cluster mit zahlreichen Namespaces und Placements zu entdecken. Die folgende Instanz verwendet jedoch die RAW -API, um alle Verteilungen im Cluster zu testen, und verfügt über eine fehlgeschlagene Replik. Filter einfach die Bereitstellung.

Wir führen den Befehl "sudo snap install kube-apiserver" aus, um Apiserver zu installieren.

Serverseitig Trockenrun wird durch Funktionstore aktiviert. Diese Funktion würde standardmäßig unterstützt; Wir können es jedoch mit dem Befehl "kube-apiserver-feature-gates dryrun = true" aktivieren/deaktivieren.

Wenn wir einen Dynamic Access Controller verwenden, müssen wir ihn auf folgende Weise beheben:

  • Wir eliminieren alle Nebenwirkungen, nachdem wir trockene Einschränkungen in einer Webhook-Anfrage angegeben haben.
  • Wir geben das Sachen des Gegenstands an, um anzugeben, dass der Gegenstand während der Trockenzeit keine Nebenwirkungen hat.

Abschluss:

Die angeforderte Rolle hängt von dem Berechtigungsmodul ab, das dem Trockenrand im Konto zustimmt, um die Bildung eines Kubernetes-Elements nachzuahmen, ohne die zu berücksichtigende Rolle zu umgehen,.

Dies liegt sicherlich außerhalb der Beschreibung der aktuellen Rolle. Wie wir wissen, wird in der Provisionsaufgabe nichts in Bezug auf die im Cluster durchgeführten Aktionen gebildet/entfernt/gepatcht. Wir erlauben dies jedoch auch, zwischen -Dry -Run = Server und -Dry -Run = keine Ausgabe für die Konten zu unterscheiden. Wir können den kubectl-Antrags-Server-trocken-Run verwenden, um eine Funktion von kubectl zu aktivieren. Dies wird die Nachfrage durch die trockene Flagge und das Wiederauftreten des Gegenstandes erfordern.