我在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
(
我不知道这个问题的原因,也不知道如何解决
我发现这个问题的原因是我有一些envVar重复。在我的部署中,我有:
...
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"
...
helm upgrade [RELEASE] [CHART]
在上运行良好
我有同样的错误,但没有重复的变量。按字母顺序重新排列env-var对我来说很有效:-(
我有同样的错误,但没有重复的env变量。我通过以下操作强制更新:
helm upgrade [RELEASE] [CHART] --force
我通过删除重复的变量修复了相同的错误。