ворклоад крутится в кубе. Деплоим хелмом. Для логов используем ELK. Проблема состоит в том что часть чартов у нас thirdparty из stable, такие как cassandra, kafka, и т. п. У них лейблы отличаются от тех, которые советуют в https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
А все чарты наших компонентов написаны по рекомендуемым лейблам. В следствии нет четкого стандарта по лейблам, одни компоненты в кибане можно достать по одним лейблам, другие - по другим. Возникает неудобство со стороны разработчиков. Вопрос, есть ли какой-то workaround, для того чтобы лейблы привести в стандартный вид, или придется все thirdparty чарты хачить и у себя хранить?
Заранее спасибо:)
спроси лучше в @kubernetes_ru
Вопрос, безусловно, хороший. Во-первых, если посмотреть на общедоступные чарты, там практически нигде не используется нотация лейблов из офф доки куба. И я на практике не встречал, чтобы кто-то использовал такую нотацию. Она слишком громоздкая. Даже странно, что вы сами ее используете. Сейчас скорее общепринято делать два лейбла app и version, по аналогии с тем, как istio на сервисы смотрит, а все остальное - ну, кто во что горазд. А качество общедоступных чартов в целом довольно низкое, их регулярно приходится под свои нужды допиливать или просто целиком заменять на свои велосипеды :) Во-вторых, можно применять сверху какой-то шаблонизатор типа kustomize для приведения всего в общий вид, как выше предлагали. Третий вариант - admission controller, который при создании ресурсов из манифестов сам автоматически правит лейблы по заданным (CRD) правилам. Его придется писать самому. Кажется, какое-то похожее решение недавно видел, но сейчас сходу ссылку не найду.
Helm template + kustomize могут помочь. Я использую pulumi, он умеет делать transformation ресурсов helm chart перед леплоем, изменение аннотаций и labels - один из вариантов применения
Обсуждают сегодня