GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment réparer helm n'a aucune version déployée Erreur

Présentation

Dans Helm, la helm upgrade [release-name] [chart] La commande vous permet de mettre à niveau votre version vers une nouvelle version. Cependant, la tentative de mise à niveau de votre version peut parfois produire le "helm n'a pas de versions déployées ” erreur.

Dans ce didacticiel, nous aborderons les causes du message "helm n'a pas de versions déployées ” erreur ainsi que plusieurs solutions potentielles.

Prérequis

  • Accès au terminal/ligne de commande
  • Un cluster Kubernetes configuré et en cours d'exécution
  • Helm installé et configuré

Qu'est-ce qui cause l'erreur "helm n'a pas de versions déployées" ?

À partir de Helm 2.7.1, exécution de la mise à niveau helm upgrade [release-name] [chart] La commande sur une version précédemment échouée produit l'erreur suivante :

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

Helm 2 compare le manifeste de déploiement actuel avec le nouveau pour appliquer les correctifs nécessaires. Cependant, il ne compare pas l'état des ressources entre les manifestes.

Si un déploiement précédent a échoué, il est probable que le cluster ait des ressources manquantes. Avant Helm 2.7.1, Helm essaiera de mettre à niveau le déploiement sans installer les ressources manquantes. Pour éviter cela, à partir de la version 2.7.1, Helm utilise le dernier déploiement réussi comme référence pour la mise à niveau. S'il n'y a pas de déploiement réussi à trouver, le système renvoie le message "helm n'a pas de versions déployées ” message d'erreur.

Correction de l'erreur "helm n'a pas de versions déployées"

Il existe plusieurs façons de corriger le "helm n'a pas de versions déployées" erreur, la plupart d'entre eux se concentrant sur la modification de l'état du déploiement ayant échoué à l'origine du problème :

Solution 1 :Modifier l'état du déploiement

Dans Helm 2, changer le statut de la version en déploiement vous permet de contourner le problème :

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

Où :

  • [release name] est le nom de la version que vous souhaitez mettre à jour.
  • [release version] est la version actuelle de votre release.

Puisque Helm 3 stocke l'historique de déploiement sous forme de secrets Kubernetes. Vérifiez les secrets de déploiement :

kubectl get secrets

Recherchez le secret faisant référence au déploiement ayant échoué, puis utilisez la commande suivante pour modifier l'état du déploiement :

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

Solution 2 : Nettoyer les déploiements ayant échoué

Supprimer la version actuelle et en démarrer une nouvelle à partir de zéro résout le problème. Pour ce faire avec Helm 2, utilisez :

helm delete --purge [release name]

Où :

  • [release name] est le nom de la version que vous souhaitez supprimer.

À partir de Helm 3, la suppression d'une version nécessite la uninstall commande :

helm uninstall [release name]

1. Une autre façon de supprimer une version ayant échoué consiste à vérifier d'abord l'état de votre déploiement :

helm list -a

2. Si le statut de votre release n'est pas deployed , vérifiez les secrets de déploiement :

kubectl get secrets

3. Décrivez le dernier élément de la liste des secrets pour vérifier son statut :

kubectl describe secret [secret name]

Où :

  • [secret name] est le nom du secret que vous souhaitez vérifier.

4. Si le secret a le même statut que le déploiement qui a échoué, supprimez-le en utilisant :

kubectl delete secret [secret name]

5. Mettez à jour votre version avec :

helm upgrade [release name]

Solution 3 :Forcer une mise à niveau

Une autre façon de résoudre le problème consiste à forcer une mise à niveau en utilisant :

helm upgrade [release name] --force

Où :

  • [release name] est le nom de la version que vous souhaitez mettre à niveau.

Dans les coulisses, cela fait un travail similaire à helm delete --purge , en supprimant la version précédente avant d'en installer une nouvelle. Cela peut entraîner une perte de service, le rendant inadapté à certaines versions.


Cent OS
  1. Comment réparer l'erreur "commande semanage" introuvable dans CentOS

  2. Comment réparer l'erreur d'échec d'authentification Cron sous Linux ?

  3. Comment réparer l'erreur apt-get Failed to Fetch dans les versions Ubuntu non prises en charge

  4. Comment réparer l'erreur locale ?

  5. Comment réparer - Erreur Apache :Aucun DirectoryIndex correspondant ?

Comment réparer l'erreur cPanel :l'adresse IP a changé ?

Comment réparer :erreur xml de la liste des sites Web SolidCP ?

Comment corriger l'erreur 403

Comment réparer une erreur de connexion à la base de données

Comment réparer :la commande curl n'a pas trouvé d'erreur

Erreur de dépassement de la limite de bande passante :comment puis-je résoudre ce problème ?