​​Метаинформация объектов Kubernetes для людей



Ниже представлен список полезных лейблов и аннотаций для манифестов Kubernetes, которые упрощают сбор информации об объектах кластера.



1️⃣
 app.kubernetes.io/managed-by




Позволяет понимать, каким образом вносить изменения в манифесты, примеры значений — Helm, Ansible, Manual. Лейбл обычно проставляется в Helm-чартах, но может быть полезен, если ресурсы в вашем кластере могут создаваться разными способами.



2️⃣
 k8s.<corp domain>/source




Аннотация содержит ссылку на исходный код проекта, к которому относится объект. Обычно системы CI/CD предоставляют набор встроенных переменных, в том числе ссылку на исходный проект. Ее можно использовать для динамического проставления таких значений.



3️⃣
 k8s.<corp domain>/ci-job-url




Аннотация содержит ссылку на конкретную джобу CI/CD пайплайна, которая задеплоила этот объект в кластер. Также может проставляться из встроенных переменных. Аннотация удобна, если нужно просмотреть лог CI при дебаге работы компонента в кластере.



4️⃣
 k8s.<corp domain>/owner




С помощью этой аннотации можно указать владельца сервиса — лучше всего сразу в формате имени пользователя в мессенджере. Позволяет не искать, к кому идти, когда с приложением что-то случилось.



5️⃣
 k8s.<corp domain>/chat




Ссылка на чат по продукту — опять же, позволяет не искать, куда обратиться с вопросом о проекте.



6️⃣
 k8s.<corp domain>/logs




Ссылка на конкретный запрос с логами сервиса в Kibana и т.п. С ее помощью удобно сразу из кластера найти логи нужного компонента.



7️⃣
 k8s.<corp domain>/dashboard




Тоже самое, но для метрик.



8️⃣
 k8s.<corp domain>/on-call




Дежурный, ответственный за сервис. Особенно удобно пользоваться, если есть внутренний трекер дежурств. В таком случае при назначении нового дежурного аннотацию можно менять на объектах автоматически из данных трекера.



Указанные лейблы и аннотации рекомендуют проставлять на все объекты кластера,

а не только, например, на Deployment. Благодаря этому сможете находить всю нужную информацию по любому объекту кластера.



#полезное #k8s #kubernetes

#авторскийпост @Павел Селиванов