GNU/Linux >> Linux の 問題 >  >> Cent OS

ヘルムを修正する方法には、リリースがデプロイされていませんエラー

はじめに

Helmでは、 helm upgrade [release-name] [chart] コマンドを使用すると、リリースを新しいバージョンにアップグレードできます。ただし、リリースをアップグレードしようとすると、「ヘルムには展開されたリリースがありません」が生成される場合があります。 」エラー。

このチュートリアルでは、「ヘルムにはリリースがデプロイされていません」の原因について説明します。 」エラーといくつかの潜在的な解決策。

前提条件

  • 端末/コマンドラインへのアクセス
  • Kubernetesクラスターのセットアップと実行
  • ヘルムのインストールと構成

「ヘルムにリリースがデプロイされていません」エラーの原因は何ですか?

Helm 2.7.1以降、 helm upgrade [release-name] [chart]を実行しています 以前に失敗したリリースでコマンドを実行すると、次のエラーが発生します。

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

Helm 2は、現在の展開マニフェストを新しい展開マニフェストと比較して、必要なパッチを適用します。ただし、マニフェスト間のリソースの状態は比較されません。

以前のデプロイメントが失敗した場合は、クラスターにリソースが不足している可能性があります。 Helm 2.7.1より前では、Helmは不足しているリソースをインストールせずにデプロイメントをアップグレードしようとします。これを防ぐために、バージョン2.7.1以降、Helmはアップグレードのベースラインとして最新の成功したデプロイメントを使用します。正常なデプロイが見つからない場合、システムは「ヘルムにはデプロイされたリリースがありません」を返します。 」エラーメッセージ。

「ヘルムにはリリースがデプロイされていません」エラーの修正

「ヘルムにはリリースがデプロイされていません」を修正する方法はいくつかあります。 エラー、それらのほとんどは問題を引き起こしている失敗した展開のステータスの変更に焦点を合わせています:

解決策1:展開ステータスの変更

Helm 2では、リリースステータスをデプロイ済みに変更すると、問題を回避できます。

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

場所:

  • [release name] 更新するリリースの名前です。
  • [release version] はリリースの現在のバージョンです。

Helm 3はデプロイ履歴をKubernetesシークレットとして保存するため、導入の秘密を確認してください:

kubectl get secrets

失敗した展開を参照するシークレットを見つけてから、次のコマンドを使用して展開ステータスを変更します。

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

ソリューション2:失敗したデプロイメントのクリーンアップ

現在のリリースを削除し、新しいリリースを最初から開始すると、問題が修正されます。 Helm 2でこれを行うには、次を使用します:

helm delete --purge [release name]

場所:

  • [release name] 削除するリリースの名前です。

Helm 3の時点で、リリースを削除するにはuninstallが必要です コマンド:

helm uninstall [release name]

1.失敗したリリースを削除する別の方法は、最初にデプロイメントのステータスを確認することです。

helm list -a

2.リリースのステータスがdeployedでない場合 、展開の秘密を確認してください:

kubectl get secrets

3.シークレットリストの最後の項目を説明して、そのステータスを確認します。

kubectl describe secret [secret name]

場所:

  • [secret name] 確認したい秘密の名前です。

4.シークレットのステータスが失敗した展開と同じである場合は、次を使用してシークレットを削除します。

kubectl delete secret [secret name]

5.次のコマンドでリリースをアップグレードします:

helm upgrade [release name]

解決策3:アップグレードを強制する

この問題を解決する別の方法は、次を使用してアップグレードを強制することです。

helm upgrade [release name] --force

場所:

  • [release name] アップグレードするリリースの名前です。

舞台裏では、これは helm delete --purgeと同様の仕事をします 、新しいリリースをインストールする前に、以前のリリースを削除します。これによりサービスが失われ、特定のリリースには不適切になる可能性があります。


Cent OS
  1. CentOSで「semanageコマンド」が見つからないというエラーを修正する方法

  2. Linuxでのcron認証失敗エラーを修正するにはどうすればよいですか?

  3. サポートされていないUbuntuリリースでapt-getFailedtoFetchエラーを修正する方法

  1. 403ForbiddenError-それは何ですかそしてそれを修正する方法

  2. ロケールエラーを修正する方法は?

  3. 修正方法-Apacheエラー:一致するDirectoryIndexがありませんか?

  1. WordPressで500内部サーバーエラーを修正する方法

  2. Ubuntuで「リポジトリにリリースファイルがありません」エラーを修正する方法

  3. Calibreで変換エラーを修正する方法