GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So beheben Sie den Fehler „Helm hat keine bereitgestellten Versionen“.

Einführung

In Helm das helm upgrade [release-name] [chart] Mit dem Befehl können Sie Ihre Version auf eine neue Version aktualisieren. Der Versuch, Ihre Version zu aktualisieren, kann jedoch manchmal die Meldung  „helm hat keine bereitgestellten Versionen hervorrufen ” Fehler.

In diesem Tutorial behandeln wir die Ursachen für die Meldung „helm has no deployed releases ” Fehler sowie mehrere mögliche Lösungen.

Voraussetzungen

  • Zugriff auf Terminal/Befehlszeile
  • Ein eingerichteter und ausgeführter Kubernetes-Cluster
  • Helm installiert und konfiguriert

Was verursacht den Fehler "helm has no deployed releases"?

Ab Helm 2.7.1, Ausführen des helm upgrade [release-name] [chart] Befehl auf einer zuvor fehlgeschlagenen Version erzeugt den folgenden Fehler:

Error: UPGRADE FAILED: [release-name] has no deployed releases

Helm 2 vergleicht das aktuelle Bereitstellungsmanifest mit dem neuen, um die erforderlichen Patches anzuwenden. Es vergleicht jedoch nicht den Zustand der Ressourcen zwischen den Manifesten.

Wenn eine frühere Bereitstellung fehlgeschlagen ist, verfügt der Cluster wahrscheinlich über fehlende Ressourcen. Vor Helm 2.7.1 versucht Helm, die Bereitstellung zu aktualisieren, ohne die fehlenden Ressourcen zu installieren. Um dies zu verhindern, verwendet Helm ab Version 2.7.1 die letzte erfolgreiche Bereitstellung als Baseline für das Upgrade. Wenn keine erfolgreiche Bereitstellung gefunden werden kann, gibt das System die Meldung „helm has no deployed releases“ zurück ” Fehlermeldung.

Behebung des Fehlers „helm hat keine bereitgestellten Versionen“

Es gibt mehrere Möglichkeiten, das Problem „helm has no deployed releases“ zu beheben Fehler, wobei sich die meisten darauf konzentrieren, den Status der fehlgeschlagenen Bereitstellung zu ändern, die das Problem verursacht:

Lösung 1:Ändern des Bereitstellungsstatus

In Helm 2 können Sie das Problem umgehen, indem Sie den Release-Status auf Deployed ändern:

kubectl -n kube-system patch configmap [release name].[release version] --type=merge -p '{"metadata":{"labels":{"STATUS":"DEPLOYED"}}}'

Wo:

  • [release name] ist der Name der Version, die Sie aktualisieren möchten.
  • [release version] ist die aktuelle Version Ihres Releases.

Da Helm 3 den Bereitstellungsverlauf als Kubernetes-Geheimnisse speichert. Überprüfen Sie die Bereitstellungsgeheimnisse:

kubectl get secrets

Suchen Sie das Geheimnis, das sich auf die fehlgeschlagene Bereitstellung bezieht, und verwenden Sie dann den folgenden Befehl, um den Bereitstellungsstatus zu ändern:

kubectl patch secret [name-of-secret-related-to-deployment] --type=merge -p '{"metadata":{"labels":{"status":"deployed"}}}'

Lösung 2:Fehlgeschlagene Bereitstellungen bereinigen

Das Löschen der aktuellen Version und das Starten einer neuen von Grund auf neu behebt das Problem. Verwenden Sie dazu mit Helm 2:

helm delete --purge [release name]

Wo:

  • [release name] ist der Name der Version, die Sie löschen möchten.

Ab Helm 3 erfordert das Löschen einer Version die uninstall Befehl:

helm uninstall [release name]

1. Eine andere Möglichkeit, eine fehlgeschlagene Version zu entfernen, besteht darin, zuerst den Status Ihrer Bereitstellung zu überprüfen:

helm list -a

2. Wenn der Status Ihrer Version nicht deployed lautet , überprüfen Sie die Bereitstellungsgeheimnisse:

kubectl get secrets

3. Beschreiben Sie das letzte Element auf der Geheimliste, um seinen Status zu überprüfen:

kubectl describe secret [secret name]

Wo:

  • [secret name] ist der Name des Geheimnisses, das Sie überprüfen möchten.

4. Wenn das Geheimnis den gleichen Status wie die fehlgeschlagene Bereitstellung hat, löschen Sie es mit:

kubectl delete secret [secret name]

5. Aktualisieren Sie Ihre Version mit:

helm upgrade [release name]

Lösung 3:Erzwingen eines Upgrades

Eine andere Möglichkeit, das Problem zu lösen, besteht darin, ein Upgrade zu erzwingen, indem Sie Folgendes verwenden:

helm upgrade [release name] --force

Wo:

  • [release name] ist der Name der Version, die Sie aktualisieren möchten.

Hinter den Kulissen erledigt dies eine ähnliche Aufgabe wie helm delete --purge , indem Sie die vorherige Version löschen, bevor Sie eine neue installieren. Dies kann zu Dienstausfällen führen, wodurch es für bestimmte Releases ungeeignet wird.


Cent OS
  1. So beheben Sie den Fehler „semanage command“ Not Found in CentOS

  2. Wie behebt man den Cron-Authentifizierungsfehler unter Linux?

  3. So beheben Sie den Fehler apt-get Failed to Fetch in nicht unterstützten Ubuntu-Versionen

  4. Wie behebt man einen Locale-Fehler?

  5. Wie behebt man – Apache-Fehler:Kein passender DirectoryIndex?

Wie behebt man den cPanel-Fehler:Die IP-Adresse hat sich geändert?

Wie behebt man:SolidCP-Websites, die einen XML-Fehler auflisten?

So beheben Sie Fehler 403

So beheben Sie einen Datenbankverbindungsfehler

Behebung:Curl-Befehl hat keinen Fehler gefunden

Fehler Bandbreitenlimit überschritten:Wie kann ich ihn beheben?