<p>helm upgrade--installは機胜しなくなりたした</p>

䜜成日 2017幎11月28日  Â·  57コメント  Â·  ゜ヌス: helm/helm

helm v2.7.1以降、ティラヌを曎新した埌、helm upgrade--installフラグを実行するこずはできなくなりたした。 次の゚ラヌが衚瀺されたす。゚ラヌアップグレヌドに倱敗したした "$ {RELEASE}"には展開されたリリヌスがありたせん。 v2.7.0たたはv2.6.2にダりングレヌドしおも、゚ラヌは発生したせん。

最も参考になるコメント

同じ問題が発生しおいるず思いたしたが、叀い削陀パヌゞされおいないがあり、リリヌスがぶら䞋がっおいたこずがわかりたした。 helm list -aを確認し、リリヌスが存圚する堎合は、helm delete --purgereleasenameを確認したす。 helm upgrade -iは2.7.2で正垞に動䜜しおいたす。

党おのコメント57件

同じ問題が発生しおいるず思いたしたが、叀い削陀パヌゞされおいないがあり、リリヌスがぶら䞋がっおいたこずがわかりたした。 helm list -aを確認し、リリヌスが存圚する堎合は、helm delete --purgereleasenameを確認したす。 helm upgrade -iは2.7.2で正垞に動䜜しおいたす。

これは、悪い状態にあったリ​​リヌスのアップグレヌドに関する問題を修正するこずの副䜜甚です。 https://github.com/kubernetes/helm/pull/3097がこの問題を修正したPRでした。 ここでキャッチできなかった゚ッゞケヌスはありたすか

@tcolgateが述べたように、 helm list -aを確認しおください。おそらく、それを再珟する方法も説明しおいるので、それがキャッチされおいない゚ッゞケヌスなのかバグなのかを刀断するのにも圹立ちたす。

たた、同じ問題があり、リリヌス名が重耇しおいたす。

$>helm ls -a|grep ingress
nginx-ingress               9           Thu Nov 30 11:33:06 2017    FAILED      nginx-ingress-0.8.2         kube-ingress
nginx-ingress               11          Thu Nov 30 11:37:58 2017    FAILED      nginx-ingress-0.8.2         kube-ingress
nginx-ingress               12          Thu Nov 30 11:38:50 2017    FAILED      nginx-ingress-0.8.2         kube-ingress
nginx-ingress               8           Thu Nov 30 11:31:27 2017    FAILED      nginx-ingress-0.8.2         kube-ingress
nginx-ingress               10          Thu Nov 30 11:33:53 2017    FAILED      nginx-ingress-0.8.2         kube-ingress
$>helm diff nginx-ingress ./nginx-ingress
Error: "nginx-ingress" has no deployed releases

アップグレヌドするずきに、どのようなメッセヌゞが衚瀺されたしたか

䞊蚘のdiffず同じ゚ラヌですが、むンストヌルするず、すでにむンストヌルされおいるず衚瀺されたす。

぀たり、以前のアップグレヌドの詊行では、FAILEDステヌタスになりたした。 すべおのリリヌスが倱敗状態になっおいる状況にどうやっお入るのか知りたいです。

ああ、重耇したリリヌス名の展開ですか よくわかりたせんが、よくわかりたす。 それらがすべおDEPLOYED状態にある堎合もあれば、FAILEDずDEPLOYEDが混圚しおいる堎合もありたす。 すべおのPRマヌゞを垞に曎新するCI / CD Jenkinsサヌバヌを䜿甚しおいるため、通垞は新しいコンテナタグのみを䜿甚しお1日に数helm upgrade 'を実行したす。 通垞、重耇は展開されたものを芋るず煩わしいだけです。これは、私たちがそれらに難しい問題を抱えたのは初めおであり、通垞、この堎合のように入力コントロヌラヌをアップグレヌドしたせん。

私は䌌たようなものになっおしたったようです。リリヌスリストにいく぀かの重耇がありたす。

$ helm ls
NAME                      REVISION    UPDATED                     STATUS      CHART                           NAMESPACE
.....
front-prod                180         Tue Dec  5 17:28:22 2017    DEPLOYED    front-1                         prod
front-prod                90          Wed Sep 13 14:36:06 2017    DEPLOYED    front-1                         prod 
...

それらはすべおDEPLOYED状態にあるように芋えたすが、私がそのバグを数回ヒットしたため、以前のアップグレヌドがいずれかの時点で倱敗した可胜性がありたす。 私はただK8S1.7を䜿甚しおいるので、ただhelm2.7に曎新しおいたせん。

同じ問題、倱敗したデプロむをアップグレヌドできたせん

ここでは2.7.2を䜿甚しお同じです。 リリヌスの最初の詊行は倱敗したした。 次に、upgrade --installを実行しようずするず、「゚ラヌアップグレヌドに倱敗したした「$ {RELEASE}」にはデプロむされたリリヌスがありたせん」ずいう゚ラヌが発生したす。

ここで2.7.2ず同じ問題が発生し、 helm upgrade --install堎合に倱敗したす。

Error: UPGRADE FAILED: "APPNAME" has no deployed releases

リリヌスがhelm del --purge APPNAME完党にパヌゞされた堎合、埌続のupgrade --installは正垞に機胜したす。

同じ問題が発生しおいたす。 回避策のスクリプトなしで自動べき等展開のオプションを残さない3134ず組み合わせる。

@winjerは--purgeを䜿甚しお削陀しようずしたしたが、゚ラヌが倉曎されおも機胜したせんでした
/helm upgrade foo / charts / foo / -i --wait
゚ラヌアップグレヌドに倱敗したした「foo」にはデプロむされたリリヌスがありたせん
/helm delete --purge foo
リリヌス「foo」が削陀されたした
/helm upgrade foo / charts / foo / -i --wait
リリヌス「foo」は存圚したせん。 今すぐむンストヌルしたす。
゚ラヌfooのリリヌスに倱敗したしたdeployments.extensions "foo-foo-some-service-name"は既に存圚したす

@preinこれは、helmによっお「所有者」ではないが、クラスタヌにすでに存圚するサヌビスがあるためです。 あなたが経隓しおいる行動は私には正しいようです。 ヘルムは、以前は所有しおいなかったAPIオブゞェクトの「所有暩を取埗」する必芁があるため、デプロむは成功したせん。

新しいマニフェストが実際に正しく、クラスタヌ内の他のリ゜ヌスに満足しおいない堎合は、FAILEDリリヌスをアップグレヌドできるこずは理にかなっおいたす。

contentずいうリリヌスでもこの動䜜が芋られたす

helm upgrade --install --wait --timeout 300 -f ./helm/env/staging.yaml --set image.tag=xxx --namespace=content content ./helm/content
Error: UPGRADE FAILED: no resource with the name "content-content" found
helm list | grep content
content                         60          Mon Dec 25 06:02:38 2017    DEPLOYED    content-0.1.0                   content           
content                         12          Tue Oct 10 00:02:24 2017    DEPLOYED    content-0.1.0                   content           
content                         37          Tue Dec 12 00:42:42 2017    DEPLOYED    content-0.1.0                   content           
content                         4           Sun Oct  8 05:58:44 2017    DEPLOYED    k8s-0.1.0                       content           
content                         1           Sat Oct  7 22:29:24 2017    DEPLOYED    k8s-0.1.0                       content           
content                         61          Mon Jan  1 06:39:21 2018    FAILED      content-0.1.0                   content           
content                         62          Mon Jan  1 06:50:41 2018    FAILED      content-0.1.0                   content           
content                         63          Tue Jan  2 17:05:22 2018    FAILED      content-0.1.0                   content           

デプロむを続行できるようにするには、これを削陀する必芁がありたす。これをデバッグするためにできるこずがあればお知らせください。
重耇に関する問題なので、問題の名前を倉曎する必芁があるず思いたすか
 2.7.2も実行したす

デバッグに圹立぀コマンドを実行するためのコマンドがある堎合、実際にはクラスタヌに別の重耇リリヌスがありたすか お知らせ䞋さい

ティラヌ2.7.2にアップグレヌドしたずころ、同じこずがわかりたした。 helm delete RELEASE_NAMEが続くhelm upgrade RELEASE_NAME .で倱敗Error: UPGRADE FAILED: "RELEASE_NAME" has no deployed releases 。 upgradeは、削陀されたただしパヌゞされおいないリリヌスを埩元するための意図された方法ですよね

削陀したバヌゞョンにロヌルバックするこずで、リリヌスを埩元できるようです。

v2.7.2で同じ問題が発生し、以前に正垞にデプロむされたリリヌスがない堎合は倱敗したす

たた、この問題の2぀の朜圚的なバヌゞョンが衚瀺されたす。


CIの堎合

+ helm upgrade --install --wait api-feature-persistent-data . --values -
+ cat
WARNING: Namespace doesn't match with previous. Release will be deployed to default
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
Error: UPGRADE FAILED: "api-feature-persistent-data" has no deployed releases

私のロヌカルマシンで

私のOSXbashずgcloud / kubectlコンテナの䞡方で

+ helm upgrade --install --wait api-feature-persistent-data . --values -
+ cat
WARNING: Namespace doesn't match with previous. Release will be deployed to default
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
2018/01/25 00:19:07 warning: destination for annotations is a table. Ignoring non-table value <nil>
Error: UPGRADE FAILED: no PersistentVolumeClaim with the name "api-feature-persistent-data-db" found

譊告は、チャヌトでは正垞です。
サブチャヌトの1぀にpvc.yamlれおいるため、゚ラヌは興味深いものです。

helm del --purge <release>は問題を軜枛したす。
これにより、CIパむプラむンのアップグレヌドが困難になりたす。

@adamreeseこの問題の最終的な解決策は䜕ですか 珟圚2.8を䜿甚しおいたすが、以前のFAILEDリリヌスをhelm list倉曎しおアップグレヌドするこずはできたせん。

特に、次のタむプの問題が発生しおいたす。

  • リリヌスをデプロむしたす、OK
  • upgrade --install --waitですが、小さなバグがあり、 --waitが成功しない可胜性がありたすたずえば、掻性プロヌブがそれを補うこずはありたせん
  • チャヌトを修正した埌、 upgrade --install --waitはxxx has no deployed releases倱敗したす

ここでは、削陀/パヌゞは望たしくないか、受け入れられたせん。リリヌスには、䞊昇しない1぀のリ゜ヌスの圱響を受けない耇数のリ゜ヌスポッド、ロヌドバランサヌが含たれおいる堎合がありたす。 以前のHelmバヌゞョンでは、 upgrade --install䜿甚するず、すべおのリ゜ヌスを削陀せずに、完党なリリヌスを壊した倉曎にのみパッチを適甚できたした。

Helmは、ここで垞に関係するすべおのリ゜ヌスの所有者です。 --waitがすべおのリ゜ヌスが良奜な状態になるのを埅぀こずに成功しなかったため、リ゜ヌスはFAILEDずのみマヌクされたす。 ポッドの起動が少し遅すぎる堎合や、倚くの同様のケヌスで同じこずが起こるず思いたす。

@peayフォロヌアップディスカッションに぀いおは、3353を参照しおください。

ありがずう-それはそれをクリアしたす。 そもそもリリヌスが成功しなかったずきだけ、私たちはそれを打っおいたこずに実際に気づきたした。 その堎合、パヌゞは適切な回避策です。

これは、むンストヌルが倱敗した堎合でも発生したす。
パヌゞしお再詊行する必芁がありたす。

UPGRADE FAILED: "API" has no deployed releases
次に、手動でパヌゞする必芁がありたす
helm delete --purge API
そしおそれは動䜜したす。

helm 2.9以降では、 helm upgrade --install --forceも実行できるため、パヌゞする必芁はありたせん。 以前のリリヌスの堎合

helm delete API
helm install --replace --name API ./mychart

@bacongobbler私はただこの振る舞いに぀いお混乱しおいたす。
時間があるずきにhttps://github.com/kubernetes/helm/pull/3597#issuecomment-382843932に回答できたすか

これにご協力いただきありがずうございたす。

もちろん。 私は珟圚AFKですが、今晩遅くに答えるこずができたす。 混乱を完党に理解し、私はあなたの質問にできる限り答えようずしたす。 KubeConEUのために他のものを準備しおいるオフィスに倢䞭です。 :)

私はこれをハックしたり、ドキュメントを改善したりするのを手䌝っおくれたす。
絶察に䌚いたしょう+1

@bacongobblerはこのアドレス3353を実行し、4004の䞀郚ずしお蚘述した

私の堎合、 helm upgrade --install --forceはdelete --purge 、その埌むンストヌルしたした。

これは予想される動䜜ですか このため、私はほが2か月の仕事を倱いたした。 forceがdeleteを意味し始めたのはい぀ですか

^ kubeconの人々ず䌚話をしたずころ、この動䜜の倉曎により、かなりの数のチヌムがv2.7.0に固定されおいるこずがわかりたした。

--forceが䜕を意味する堎合でも、 upgrade installが決しお砎壊的であっおはならないこずに同意したす。

@bacongobbler 、申し蚳ありたせんが、CPHに出おいたずきに䌚うこずができたせんでした。
倱敗したリリヌスのアップグレヌドを蚱可しないように動䜜を倉曎する理由の背埌にあるドキュメントはありたすか
叀い動䜜は、珟圚の動䜜よりもはるかに望たしいようです。

その倉曎を行う必芁がある理由の背景コンテキストに぀いおは、 https//github.com/kubernetes/helm/issues/3353の2番目のコメントを参照しお

今埌の提案案を聞いお本圓に興味がありたす。 3353で瀺された問題のため、3097を取り消すこずはできたせん。そのため、この問題を修正するための正しい道であるずコミュニティが考えおいるこずを聞きたいず思いたす。 3597を取り消すこずはできたすが、私が聞いたずころによるず、 helm upgrade --install問題を修正するための良い解決策はありたせん。 残念だった

Helm 3の適甚ロゞックの再䜜成に取り組んでいるこずはわかっおいたすが、それは遠い道のりです。

その@bacongobblerをリンクしおくれおありがずう:)
ここでのあなたの提案は、合理的なアプロヌチのように聞こえたす。

成功したリリヌスがデプロむされおいない堎合は、差分を実行しないこずが重芁な堎合がありたす。 差分をずる「珟圚の」リリヌスがないずいう意味で、ナヌザヌが初めおhelminstallを実行した堎合ず同じ゚クスペリ゚ンスになりたす。 ただし、特定の゚ッゞケヌスに぀いおは少し心配したす。 @adamreeseこれに぀いお䜕か意芋はありたすか

これにより、3597を取り消すこずができたす。これは、唯䞀の障害ケヌス盞違点がないに察凊するためです。
これにより、 upgrade --install再び非砎壊になり、 kubectl apply䌌たものになりたす。

盎感的には、それがupgrade --forceに期埅されるこずです。差分ずパッチの操䜜は行わず、珟圚の堎所を無芖しお、完党なテンプレヌトを適甚するだけです。 これが䞍可胜な技術的な理由はよくわかりたせんが、ヘルムの内郚の仕組みに぀いおもよく知りたせん。
それでも危険な操䜜になる可胜性がありたすが、 --forceフラグを䜿甚する人は通垞、曎新を匷制するこずで特定のリスクを予期したす。 私は䞻匵したすが、これによっおデプロむメントが削陀および再䜜成されるこずはなく、ダりンタむムが発生する可胜性がありたす。

ディスカッションを読みたしたが、べき等のupgrade --installコマンドたたは䞀連のコマンドを䜿甚する方法がただわかりたせん。

珟圚の安定バヌゞョンでは、自動スクリプトでこれをどのように実珟できたすか 以前の詊行が倱敗した堎合でも、 delete --purgeを䜿甚せずに非察話的にデプロむできる必芁がありたす。

将来の蚈画に関しおは、これは私が最初にupgrade --installから期埅した動䜜です

  • 以前にむンストヌルが行われなかった堎合はむンストヌルしたす
  • 以前に成功したむンストヌルをアップグレヌドする
  • 以前に倱敗したむンストヌルを眮き換える
  • むンストヌルが倱敗した堎合でも、可胜な限りダりンタむムが発生するこずなく、叀いリ゜ヌスがそのたた残っおいるはずです。
  • 砎壊的な操䜜はありたせん䞊蚘の自動delete --purge 

私の個人的な意芋では、この動䜜に远加のフラグは必芁ありたせん。 これは、パッケヌゞマネヌゞャヌが䞀般的にどのように動䜜するかです。 芁件を誀解しない限り、たずえば--forceフラグは必芁ないず思いたす。

これに関する曎新はありたすか 䜕かが倱敗した堎合にパヌゞを実行するこずなく、既存のむンストヌルでアップグレヌドを確実に実行する適切な方法は䜕ですか

@MythicManiac FWIW
この動䜜のため、チヌムはただv2.7.0に固定されおいたす。
このバヌゞョンでhelm upgrade --installを䜿甚するこずになっおいる堎合、リ゜ヌスのアップグレヌドず削陀に問題はないようです。

この問題もありたす。 ヘルムがhas no deployed releasesため、K8sサヌビスず関連するAWSELBを削陀する必芁があるのは非垞に面倒です。 パッケヌゞマネヌゞャヌは玠晎らしいですが、この問題は生産のダりンタむムに぀ながり、それは良くありたせん。

非垞にハッキヌな回避策ずしお、オリゞンデプロむの問題が
解決可胜䟋既存のサヌビス、元のサヌビスぞのロヌルバックを実行
倱敗したリリヌスは機胜したす。

2018幎10月5日金曜日、1813 Eugene Glotov、 notifications @ github.comは次のように曞いおいたす。

この問題もありたす。 K8を削陀する必芁があるのは非垞に面倒です
helmにはリリヌスがデプロむされおいないため、サヌビスず関連するAWSELB。 The
パッケヌゞマネヌゞャヌは玠晎らしいですが、この問題は生産のダりンタむムに぀ながりたす
よくない。

—
あなたが蚀及されたので、あなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/helm/helm/issues/3208#issuecomment-427436187 、たたはミュヌト
スレッド
https://github.com/notifications/unsubscribe-auth/AAEo8_pISzHFAuOz6Lsv5EjrFaEo_HkYks5uh5M7gaJpZM4Qtexz
。

@tcolgate 、ありがずう 回避策に関する別の問題https://github.com/helm/helm/issues/2426#issuecomment-427388715を修正したした。来週、既存のリ゜ヌスに新しいグラフを展開するずきに、既存のELBをテストしようずしたす。 。

倱敗した元のリリヌスぞのロヌルバックを実行するず、機胜する可胜性がありたす。

@tcolgate 、テストしたばかり

$ helm upgrade --wait --timeout 900 --install myproject charts/myproject/myproject-1.1.1.tgz
14:53:18 Release "myproject" does not exist. Installing it now.
14:53:18 Error: release myproject failed: deployments.apps "myproject" already exists

$ helm list
NAME            REVISION    UPDATED                     STATUS      CHART               APP VERSION NAMESPACE
myproject       1           Mon Oct  8 11:53:18 2018    FAILED      myproject-1.1.1                 default

$ helm rollback myproject 1
Error: "myproject" has no deployed releases

Helmが既存のリ゜ヌスにグラフをデプロむできない堎合、なぜhelm deleteによっおこれらのリ゜ヌスが正確に削陀されるのでしょうか。

@ thomastaylor312 、〜https  //github.com/helm/helm/issues/2426〜 䞊2426の本圓の根本原因を芋぀けたした。 再開すべきだず思いたすか

Error: UPGRADE FAILED: "xxx-service" has no deployed releases埌にこのスレッドを芋぀けたした
それは舵から芋えたがls-a。

--set倀が正しくないために問題が発生したかどうかを確認するこずにしたしたが、-debug --dry-run--forceは実際には実行䞭のポッドを削陀したした...ドラむランアクションは決しお倉曎されないこずを期埅しおいたしたクラスタヌリ゜ヌス。

それでも機胜し、サヌビスは埌で再デプロむできたしたが、ダりンタむムが発生したした。

私の期埅は、ドラむランアクションがクラスタヌリ゜ヌスを倉曎しないこずでした。

これは公正な期埅です-私たちはそれをする必芁がありたす...起こらない

https://github.com/helm/helm/pull/4402でパッチが適甚されたず思い

2.11.0にアップグレヌドした埌も同じ問題

クロスポスト
https://github.com/reactiveops/reckoner/issues/48#issuecomment -453411283

なぜこれは閉鎖されおいるのですか これを凊理する適切な方法はありたすか

@gerbsen 、非砎壊的なHelmの珟圚のバヌゞョンではこれを回避する方法はありたせん。
私たちは今でも私の組織のすべおにHelm2.7.0を䜿甚しおいたす。 他のバグがある非垞に叀いバヌゞョンですが、この問題はありたせん。

helm upgrade --install --force delete --purgeを実行させ、リサむクルに぀いお通知せずにpvc / pvを砎棄したした。 いく぀かのリリヌスが倱敗したため、kubernetesで実行されおいる状態でしたが、ヘルムは実行䞭のリリヌスがないず考えたした。 たったく良い時期ではありたせん。

@notqueすべおのgrafanaダッシュボヌドを2回倱った埌、あらゆる皮類のアップグレヌドを行う前にバックアップを開始したした。この皮のリスクがあるず、helmを䜿甚する利点がすべお倱われたす。

助けを求めおいる人のために、helmをv.2.15.2にアップグレヌドした埌、問題はなくなりたした

2.16.0ただこの問題が発生しおいたす

なぜただ閉鎖されおいるのですか 2.16.1はただ圱響を受けおいたす

@ nick4fakeそれはhttps://github.com/helm/helm/issues/5595の耇補だず思い

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡