GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So starten Sie Kubernetes-Pods neu

Einführung

Kubernetes ist ein Open-Source-System, das für die Orchestrierung, Skalierung und Bereitstellung containerisierter Anwendungen entwickelt wurde. Wenn Sie schon einmal mit Kubernetes gearbeitet haben, wissen Sie, wie nützlich es für die Verwaltung von Containern ist.

Sie werden auch wissen, dass Container nicht immer so laufen, wie sie sollen. Wenn ein Fehler auftritt, müssen Sie das Problem schnell und einfach beheben.

In dieser Anleitung wird erklärt, wie Pods in Kubernetes neu gestartet werden.

Voraussetzungen

  • Zugriff auf ein Terminalfenster/Befehlszeile
  • Ein Kubernetes-Cluster
  • Das kubectl-Befehlszeilentool von Kubernetes

Kubernetes-Pods neu starten

Angenommen, einer der Pods in Ihrem Container meldet einen Fehler. Abhängig von der Neustartrichtlinie versucht Kubernetes möglicherweise, den Pod automatisch neu zu starten, damit er wieder funktioniert. Das behebt das Problem jedoch nicht immer.

Wenn Kubernetes das Problem nicht selbst beheben kann und Sie die Fehlerquelle nicht finden können, ist ein Neustart des Pods die schnellste Möglichkeit, Ihre App wieder zum Laufen zu bringen.

Methode 1:Rolling Restart

Ab Update 1.15 können Sie mit Kubernetes einen fortlaufenden Neustart Ihrer Bereitstellung durchführen. Als neue Ergänzung zu Kubernetes ist dies die schnellste Neustartmethode.

kubectl rollout restart deployment [deployment_name]

Der oben genannte Befehl führt ein schrittweises Herunterfahren durch und startet jeden Container in Ihrer Bereitstellung neu. Ihre App ist weiterhin verfügbar, da die meisten Container weiterhin ausgeführt werden.

Methode 2:Verwenden von Umgebungsvariablen

Eine andere Methode besteht darin, eine Umgebungsvariable festzulegen oder zu ändern, um einen Neustart der Pods zu erzwingen und mit den von Ihnen vorgenommenen Änderungen zu synchronisieren.

Beispielsweise können Sie das Bereitstellungsdatum des Containers ändern:

kubectl set env deployment [deployment_name] DEPLOY_DATE="$(date)"

Im obigen Beispiel ist der Befehl set env Richtet eine Änderung der Umgebungsvariablen deployment [deployment_name] ein wählt Ihre Bereitstellung aus und DEPLOY_DATE="$(date)" ändert das Bereitstellungsdatum und erzwingt den Pod-Neustart.

Methode 3:Skalierung der Replikatanzahl

Schließlich können Sie die scale verwenden Befehl, um zu ändern, wie viele Replikate des fehlerhaften Pods vorhanden sind. Wenn Sie diesen Betrag auf Null setzen, wird der Pod im Wesentlichen ausgeschaltet:

kubectl scale deployment [deployment_name] --replicas=0

Um den Pod neu zu starten, verwenden Sie denselben Befehl, um die Anzahl der Replikate auf einen beliebigen Wert größer als null festzulegen:

kubectl scale deployment [deployment_name] --replicas=1

Wenn Sie die Anzahl der Replikate auf null setzen, zerstört Kubernetes die nicht mehr benötigten Replikate.

Sobald Sie eine Zahl größer als Null festlegen, erstellt Kubernetes neue Replikate. Die neuen Replikate haben andere Namen als die alten. Sie können den Befehl kubectl get pods verwenden um den Status der Pods zu überprüfen und die neuen Namen zu sehen.


Linux
  1. So starten Sie Webmin neu

  2. So starten Sie Webmin neu

  3. So löschen Sie Pods in Kubernetes [Schnelle K8s-Tipps]

  4. So starten Sie Pods in Kubernetes neu [Schneller K8s-Tipp]

  5. So löschen Sie einen Dienst in Kubernetes

So erstellen Sie eine Bereitstellung in Kubernetes

So erstellen Sie ein StatefulSet in Kubernetes

So installieren Sie Kubernetes unter Ubuntu 20.04

So erstellen und verwalten Sie Kubernetes-Pods unter Linux

So starten Sie das Netzwerk unter Ubuntu 20.04 neu

So starten Sie das Netzwerk unter Ubuntu 22.04 neu