web-dev-qa-db-ja.com

更新時のHELMエラー:アップグレードに失敗しました:パッチリストの順序

HELM展開に問題があります。展開に新しい環境変数を追加した後、それは起こりました。

実行すると:helm upgrade [RELEASE] [CHART]

次のエラーが発生します。

Error: The order in patch list:
[
    map[name:APP_ENV value:prod]
    map[name:MAILER_URL value:...] 
    map[name:APP_VERSION value:v0-0-3] 
    map[name:APP_COMMIT_SHA value:...]
]
 doesn't match $setElementOrder list:
[
    map[name:APP_ENV] 
    map[name:COMPOSER_HOME] 
    map[name:PHP_XDEBUG_ENABLED] 
    map[name:DATABASE_DRIVER] 
    map[name:DATABASE_Host] 
    map[name:DATABASE_NAME] 
    map[name:DATABASE_USER] 
    map[name:SECRET] 
    map[name:INDEX_HOSTS]
    map[name:MAILER_FROM_ADDRESS] 
    map[name:MAILER_FROM_NAME] 
    map[name:UPLOAD_DIR] 
    map[name:ARCHIVE_DIR] 
    map[name:CATALOG_STORAGE_DIR] 
    map[name:ASSET_STORAGE_DIR] 
    map[name:TMP_STORAGE_DIR] 
    map[name:UPLOAD_TMP_DIR] 
    map[name:APP_VERSION] 
    map[name:APP_COMMIT_SHA] 
    map[name:APP_CRON] 
    map[name:DATABASE_PASSWORD] 
    map[name:MAILER_URL]
    ...
]

ただし、フラグ--dry-runと同じコマンドを実行すると、エラーが発生しません(helm upgrade [RELEASE] [CHART] --dry-run

私はこの問題の理由やそれを解決する方法がわからない

7
pcampana

私はこの問題の理由が私がいくつかの封筒が重複していたということであることがわかりました。私の展開で私は持っていました:

...
spec:
  template:
    spec:
      container:
        env:
        - name:  ENV_VAR_NAME
          value: "test"
        - name:  ENV_VAR_NAME
          value: "test"
...
 _

重複した変数を削除した後:

...
spec:
  template:
    spec:
      container:
        env:
        - name:  ENV_VAR_NAME
          value: "test"
...
 _

NS helm upgrade [RELEASE] [CHART]は大丈夫でした

3
pcampana