DevOps Star (Звезда Девопса)
2.16K subscribers
270 photos
211 videos
19 files
327 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Download Telegram
Основы мониторинга (обзор Prometheus и Grafana)

Мониторинг сегодня – фактически обязательная «часть программы» для компании любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus и Grafana

https://habr.com/ru/post/709204/

👉 @devops_star
👍1
Аутентификация в Kubernetes через Gitlab'овские JWT токены

Зачем?
Представим ситуацию, что мы деплоим по push-модели. В качестве платформы для запуска деплоя у нас используется Gitlab: в нём настроен пайплайн и джобы, разворачивающие приложения в разные окружения в Kubernetes

Какой бы инструмент мы не использовали (kubectl, helm), для манипуляций с ресурсами API нам в любом случае будет необходимо аутентифицироваться при выполнении запросов к Kubernetes. Для этого в запросе надо передать данные для аутентификации, будь то токен или сертификат. И тут возникает несколько вопросов:

- Где хранить эти креды?
- Как сделать так, чтобы у каждого пользователя были свои данные для доступа в кластер?


https://habr.com/ru/articles/783586/

👉 @devops_star
👍2
Что происходит, когда вы создаёте Pod в Kubernetes?

Создание Pod в Kubernetes — простая задача. Но под капотом скрывается сложный рабочий процесс, который затрагивает несколько компонентов кластера. Делимся переводом статьи, где автор рассказывает, что в этот момент происходит в кластере. Статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями.

Начнем с очевидного: kubectl отправляет определение YAML на сервер API.

На этом этапе kubectl:

- Обнаруживает эндпоинты API с помощью OpenAPI (Swagger).
- Согласовывает версию ресурса.
- Проверяет YAML.
- Выдает запрос.

https://itnext.io/what-happens-when-you-create-a-pod-in-kubernetes-6b789b6db8a8

👉 @devops_star
👍2
20 лучших практик работы с Dockerfile

Узнайте, как предотвратить проблемы с безопасностью и оптимизировать контейнеризованные приложения, применяя набор лучших практик для Dockerfile при сборке образов.

https://sysdig.com/blog/dockerfile-best-practices/

👉 @devops_star
👍2
Шпаргалка по командам Docker

👉 @devops_star
👍2
Как мы ищем деградации на нодах в кластерах Kubernetes

Меня зовут Станислав Егоркин, я инженер юнита IaaS департамента разработки Infrastructure в Авито. В этой статье я расскажу про инструмент, который мы используем для обнаружения деградаций на нодах в кластерах Kubernetes, а также покажу дашборд, где мы наблюдаем за состоянием всех наших нод.

Причины деградаций на нодах
Инфраструктура Авито — это тысячи bare-metal серверов, большая часть из которых объединена в десятки Kubernetes-кластеров. Понятно, что в таких масштабах отказ отдельных кубонод — событие регулярное. Причины могут быть разные: от поломки планки памяти до возникновения проблем с container runtime.

Хорошо, если нода отказала полностью, тогда Kubernetes сам обработает отказ, и рабочая нагрузка пострадает минимально. Хуже, когда деградация частичная. В этом случае нода может долго находиться в плохом состоянии, заставляя «страдать» все сервисы, которые оказались запущены на ней.

Обычно события в этом случае развиваются следующим образом: кто-то из разработчиков замечает деградацию своего микросервиса, локализовывает ее до ноды и приходит к нам. Мы диагностируем и прочиниваем ноду. Однако некоторые проблемы встречались на разных нодах снова и снова. И каждый раз они требовали нашего вмешательства.

https://habr.com/ru/companies/avito/articles/847466/

👉 @devops_star
👍1
Введение в Docker и Kubernetes: основы контейнерных технологий. Часть 1

Docker и Kubernetes — два инструмента, которые прочно вошли в арсенал современных разработчиков. Хотите разобраться в основах контейнеризации и оркестрации? Наша статья поможет вам в этом, раскрывая ключевые концепции и принципы работы этих технологий.

https://habr.com/ru/companies/sibur_official/articles/826964/

👉 @devops_star
👍1
Основы Docker: контейнеризация, Dockerfile и Docker Compose. Часть 2

Меня зовут Толя, я лидер компетенции Java в Цифровом СИБУРе. Наш прошлый материал о Docker собрал классный фидбэк, поэтому мы решили развить тему и подготовить ещё несколько статей, двигаясь от простого к сложному.

В этом материале речь пойдёт о том, что помогает избежать конфликтов зависимостей и проблем с изоляцией, возникающих при запуске нескольких приложений на одном сервере. Для решения этих задач используются технологии контейнеризации, которые позволяют создавать изолированные окружения для приложений, устраняя проблемы совместимости и упрощая процесс развёртывания. Рассмотрим, как работает контейнеризация и какие инструменты помогают сделать её максимально эффективной.

https://habr.com/ru/companies/sibur_official/articles/846350/

👉 @devops_star
👍2
DevToys

DevToys помогает в ежедневных задачах разработки, предлагая набор небольших инструментов, предназначенных для быстрого выполнения конкретных задач. Нет необходимости использовать множество ненадежных сайтов для простого декодирования текста или сжатия изображения. С помощью функции Smart Detection приложение интуитивно выбирает лучший инструмент для данных, находящихся в буфере обмена.

DevToys 2.0 включает 30 инструментов по умолчанию:

Конвертеры: JSON <> YAML, Дата, Числовые системы и т.д.
Кодировщики/Декодировщики: HTML, URL, Base64, GZip, JWT, QR-код и т.д.
Форматтеры: JSON, SQL, XML и т.д.
Генераторы: Хэш и Контрольная сумма, Lorem Ipsum, Пароли и т.д.
Инструменты для графики: Симулятор цветовой слепоты, Сжатие PNG/JPEG и т.д.
Тестеры: JSONPath, RegEx, XML и т.д.
Текстовые утилиты: Предварительный просмотр Markdown, Сравнение текста, Анализ и утилиты...

https://github.com/DevToys-app/DevToys

👉 @devops_star
👍1
Mount — ещё один способ уменьшения размера Docker-образа

Делюсь лайфхаком по уменьшению размеров Docker-образов. Как-то нам попалась на поддержку и развитие CRM-система, написанная на Ruby. Пришли со словами: предыдущий разработчик не передал исходный код, но систему нужно развивать. Я уверен, что по условиям контракта передавали исходный код, но заказчики всегда относятся попустительски: им присылают архив на почту, а они потом стирают старое барахло, чтобы ящик почистить.

Так вот, зайдя на продакшен-сервер, я нашел развернутую платформу, да ещё и с .git папочкой. Ура, у меня были исходники с историей (она потом мне ни разу не понадобилась). Загрузил в нашу репу исходники, поизучал. В ходе контракта нужно было изменить деплой с rsync на контейнеризацию и перетащить все на Alt Linux (или Astra, уже не помню).

Обновили Ruby-пакеты (gems), обновили под них код и написали Dockerfile. Первая сборка была удручающей: образ в 2Гб. Это нормальный размер, если ты собираешь образ с Torch и другой ML-штуковиной, но CRM - нет. В результате дальнейших действий, удалось сократить размер образа до 200Мб.

https://habr.com/ru/articles/851384/

👉 @devops_star
👍1