Почему «helm install --dry-run» не выдает ошибку о конфликте, а фактическая «helm install» дает?

Я установил свое приложение следующим образом:

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

Почему пробный прогон не улавливает это?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
0
1 042
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В пробном режиме проверка availableNameявно останавливает перед фактической проверкой того, используется ли указанное вами имя. Вы все равно получите жалобу, если явно укажете пустое имя или если имя длиннее 53 символов.

На практике я чаще всего использую helm upgrade --install вместо helm install, так как это будет работать, даже если диаграмма уже установлена.

Другие вопросы по теме