К нашей инсталляции Mattermost в пике подключено около 350 устройств – не так много, как в истории с мессенджером в Тинькофф, но проблемы бывают и у маленьких инсталляций. Спойлер: наша проблема так и не решена.
Так уж вышло, что в ArgoCD плоская структура для хранения описания приложений - все они живут в одном namespace, а значит должны иметь уникальные имена, чтобы предостеречь себя от разных непонятных ситуаций есть простое решение - проверять, не дублируются ли эти самые имена.
Не нашел живых примеров переездов на Mattermost в красках, чтобы с кровью и болью, поэтому опишу здесь несколько моментов, на которые стоит обратить внимание.
В очередной раз пришлось настраивать сбор метрик с Qrator, прошлая моя заметка на этот счет жила в виде Issue в репозитории StupidScience/qrator-exporter (в проекте используются deprecated-методы), но автор решил её удалить, поэтому опишу здесь, чтобы уж точно не потерялось.
Недавно в одном из разговоров я упоминал, что на Prometheus-based стеке смог каждый алерт ассоциировать с командой, которая обслуживает сервис и в случае критических событий эта самая команда меншенится в Slack, чтобы привлечь её внимание. Что ж, показываю как это выглядит в реальности.
В первой части мы проверяли чарты на соответствие нашим ожиданиям по входящим параметрам, хранящимся в values-файлах. В этой части я расскажу, как мы валидируем пользовательские values-файлы к этом чарту, которые правят разработчики, так как проблема остается той же – недопустимый набор входных параметров порождает неприменимые спецификации Kubernetes, что приводит к ошибкам публикации.
Мероприятие проходило в конце октября 2019 года, на нем я рассказывал как мы применяем GitOps подход и ArgoCD в частности.
Тестирование – не совсем корректное слово, речь пойдет о способах валидации этих самых чартов и входных параметров для них.
В ноябре, в очередной раз, рассказывал про секреты, на этот раз на https://itis.is74.ru/conf.
Наткнулся на описание интересного термина (на английском звучит как Edge Computing и берет свое начало в 90-х) описывающего архитектуру, при которой данные обрабатываются (анализируются и агрегируются) не в конечной точке своего назначения, а раньше – как можно ближе к источникам данных.