我对头盔部署有疑问。在为部署添加了新的环境变量之后,这种情况就发生了。
执行时: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
)
我不知道此问题的原因或解决方法
答案 0 :(得分:7)
我发现此问题的原因是我复制了一些envVar。在我的部署中,我有:
final_list = [i.replace('_null', "") for i in mylist]
删除重复的变量后:
...
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"
...
工作正常
答案 1 :(得分:0)
我有同样的错误,但没有重复的环境变量。我通过以下方式强制更新:
helm upgrade [RELEASE] [CHART] --force