Я установил свое приложение следующим образом:
helm install my-app my-application/ --set externalName.namespace=app-layer
Проверяем поды и сервисы, все установилось правильно.
Затем я попробовал dry-run
, ожидая конфликта, но он просто распечатал YAML и некоторую информацию о предыдущей установке.
helm install my-app my-application/ --set externalName.namespace=app-layer --dry-run
Выше распечатано:
NAME: my-app
LAST DEPLOYED: Tue Dec 22 19:52:33 2020
NAMESPACE: default
STATUS: pending-install
REVISION: 1
TEST SUITE: None
USER-SUPPLIED VALUES:
externalName:
namespace: app-layer
COMPUTED VALUES:
#...elided by me...
HOOKS:
MANIFEST:
---
#...elided by me...
Однако, когда я пытаюсь установить, я получаю эту ошибку:
Error: cannot re-use a name that is still in use
Почему пробный прогон не улавливает это?
В пробном режиме проверка availableName
явно останавливает перед фактической проверкой того, используется ли указанное вами имя. Вы все равно получите жалобу, если явно укажете пустое имя или если имя длиннее 53 символов.
На практике я чаще всего использую helm upgrade --install
вместо helm install
, так как это будет работать, даже если диаграмма уже установлена.