сервисов, БД (PostgreSQL с использованием https://github.com/zalando/postgres-operator) и ValidatingWebhookConfiguration. На кубовые ресурсы моего приложения (а также на неймспейс, в котором оно раскатывается) я навесил лейблы, чтобы с помощью namespaceSelector/objectSelector вебхук игнорировал их.
Проблема возникает из-за циклической зависимости: вебхук зависит от одного из сервисов приложения (сервис A), который в свою очередь зависит от БД. И т.к БД раскатывается через оператор, я не могу навесить лейблы на все ресурсы, что он создает => вебхук отвечает ошибкой на запрос AdmissionReview ресурсов БД => сервис A не поднимается => сам вебхук также не может работать корректно.
Сталкивался ли кто-то с подобным? Из идей пока только InitContainer, который дожидается, когда сервис A стартанет, а затем создаст ресурс ValidatingWebhookConfiguration и запустит сервис с вебхуком. Либо можно создать ValidatingWebhookConfiguration с failurePolicy: ignore, дождаться старта сервиса А, а затем изменить failurePolicy на Fail.
Из ограничений то, что пачка сервисов+бд+вебхук должны поставляться единым “бандлом” и раскатываться все это будет чаще всего через helm.
Если нужны свои лейблы на все ресурсы оператора, то это можно сделать
Обсуждают сегодня