Pull to refresh
1
0
Банщиков Денис Евгеньевич @denissa

Пользователь

Send message

Pre-Commit хуки, о которых DevOps-инженер должен знать, чтобы управлять Kubernetes

Reading time5 min
Views12K

Контролировать качество исходного кода как можно раньше в жизненном цикле проекта - хорошая практика. Давайте разберемся, как применять этот принцип в работе с Kubernetes.

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

В самом деле, с появлением новых методов работы, основанных на гибкости (вроде DevOps), некоторые принципы безопасности пришлось адаптировать к темпам развития и управления компонентами инфраструктуры. Сегодня одна из наиболее безопасных практик - это как можно раньше переместить эти контрольные точки в цепи интеграции, чтобы быстрее обнаруживать любые аномалии, заслуживающие особого внимания.

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments0

Kubernetes CronJob не запустился? Тогда мы с shared informer идём к вам

Reading time11 min
Views7K

Всем привет! Меня зовут Аня, я строю и развиваю инфраструктуру мониторинга в платформе телеметрии Ozon. Моя команда не только помогает настроить мониторинг, но и разрабатывает различные сервисы и инструменты, чтобы упростить жизнь разработчикам компании.

В прошлом году я рассказывала, как мы организовали мониторинг Kubernetes CronJob на основе kube-state-metrics, Thanos Receive и Thanos Ruler. За год мы нашли ответ на вопрос, почему же крон может не запускаться. И в этой статье я хочу рассказать об основных причинах и проблемах, о которых мы узнали. 

Спойлер: многие не задумываются о том, как устроен и управляется CronJob.

Читать далее
Total votes 64: ↑64 and ↓0+64
Comments3

Начало работы с управлением политиками Kubernetes и Kyverno на платформе контейнеров OpenShift

Reading time6 min
Views3.7K
image

В этой статье речь пойдёт о том, как начать работу с Kyverno на платформе контейнеров OpenShift, с помощью которой можно повысить безопасность, легко внедрять передовые технологии и решать другие непростые задачи.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Raft (не)всемогущий: какие надстройки повышают надёжность алгоритма

Reading time12 min
Views6.8K

Меня зовут Сергей Петренко, вот уже четыре года я работаю над репликацией в Tarantool, и сегодня хочу рассказать про слабые места алгоритма Raft и способы их преодоления. Эта статья — вольный пересказ нашего с Борисом Степаненко доклада на Hydra 2022. Если читатель не знаком с Raft, то предлагаю ознакомиться с моей статьёй о нём.

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments8

Статическое Python приложение в образе контейнера на базе scratch

Reading time9 min
Views7K

Небольшое руководство о том, как можно собрать Python приложение в самодостаточный статически связанный двоичный файл и упаковать в его образ контейнера на базе scratch.

Размер итогового образа контейнера получится всего лишь от 13 мегабайт.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments6

Потеря логов при отправке через Fluent Bit

Reading time9 min
Views6.7K

Дано

кластер k8s

много приложений, которые пишут свои логи в stdout/stderr, а контейнерный движок (в данном случае docker) складывает их в файлы

fluent-bit, запущенный на каждой ноде k8s. Он собирает логи, фильтрует их и отправляет в Loki

loki - хранилище логов от Grafana Labs

В чём заключается проблема

При просмотре логов через Grafana (источник - Loki) видно, что логи приходят с сильной задержкой или часть логов вообще отсутствует. При просмотре через kubectl logs все логи на месте.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments5

Установка Arch Linux на зашифрованный раздел c LVM

Reading time6 min
Views12K

В этой статье я хочу рассказать как установить Arch Linux с LVM на зашифрованный раздел. Сейчас у арча появился инсталлер, но мне больше нравится устанавливать все вручную, так есть более глубокое понимание процесса. Если вам будет интересно, то на моем ютуб канале есть видео в котором я делаю то же самое по этой статье, но для большинства статьи будет достаточно.

Почему Arch?

До этого я использовал ALT Linux, Ubuntu, SuSe, Fedora, Debian, Arch. И когда я попробовал арч я понял, что он полностью удовлетворяет моим потребностям.

Что мне в нем нравится:

Читать далее
Total votes 15: ↑13 and ↓2+13
Comments36

Следующий уровень автоматизации Kubernetes. Создаем свой оператор

Reading time20 min
Views5.8K

Оператором в Kubernetes принято называть развертывание, которое самостоятельно управляет ресурсами кластера, регистрирует новые Custom Resource Definition (CRD) и, в некоторых случаях, добавляется для наблюдения за существующими ресурсами (через механизмы Dynamic Admission Control). В этой статье на примере создания оператора для развертывания и управления кластером Aerospike мы попробуем разобраться с этапами создания оператора, способами взаимодействия с кластером и проблемами, с которыми можно встретиться в реальной практике. Всех практикующих DevOps и желающих поднять автоматизацию развертывания своих сервисов на новый уровень приглашаю под кат.

Читать далее
Total votes 12: ↑9 and ↓3+7
Comments0

Используем GitLab в качестве удобного Helm-репозитория

Reading time9 min
Views13K

GitLab – это мощный и в то же время простой инструмент для организации проектов. Как и любой крупный и самодостаточный продукт, GitLab постоянно развивается и дорабатывается. И сегодня хотелось бы обсудить новый функционал, который пока ещё находится в разработке, но уже доступен для использования. Речь идёт о поддержке размещения Helm-чартов в GitLab Package Registry. Для простоты далее я буду называть его GitLab Helm repo.

Зачастую основой для описания инфраструктуры, запускаемой в Kubernetes, являются  Helm-чарты. Поэтому при работе команды инженеров с большим количеством проектов невольно приходят мысли о стандартизации подходов работы с этими чартами. С появлением GitLab 14.1 появилась возможность настраивать хранение общих чартов для всех проектов, с которыми ведется работа.

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments0

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Reading time1 min
Views41K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее
Total votes 158: ↑157 and ↓1+188
Comments37

Почему важен graceful shutdown в облачной среде (на примере Kubernetes + Spring Boot)

Reading time4 min
Views16K

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments2

GOAPPLE: быстрая настройка I3-wm

Reading time7 min
Views21K

Привет, Хабр! Сегодня я хотел бы рассказать вам о моём переезде на Linux под управлением оконного менеджера I3-wm. Попробую немного раскрыть тему настройки оконного менеджера и поделюсь своим опытом. Надеюсь кому-то будет полезно получить такого рода информацию.

P.s если вы не новичок, то вред ли узнаете много нового, но благодарю за внимание!

И так! Данная программа была разработана в целях бэкапа конфигурации системы, которую я использую каждый день - Manjaro I3. Я приготовил 3 конфигурации оконного менеджера I3-wm для систем: Manjaro, Solus и Fedora, так как они наиболее популярны на мой взгляд. Я использовал каждый из представленных дистрибутивов и временами меняю совой основной дистрибутив на один из них.

Я пользуюсь Linux с 18 февраля 2019 года, но летом 2020 я начал использовать Linux как основную систему (на тот момент ещё Ubuntu 20.04 LTS).

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments12

Основы контейнеризации (обзор Docker и Podman)

Reading time16 min
Views126K

Привет, Хабр!

К 2022 году о контейнеризации не слышал только ленивый. Большинство специалистов, так или иначе имеющих отношение к ИТ, хотя бы раз в жизни запускали программное обеспечение в контейнерах. Однако так ли эта технология проста и понятна? Давайте разбираться вместе!

Главная задача данной статьи – рассказать о контейнеризации, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно упрощен.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments22

«Меняем коней на переправе»: опыт замены компонентов Kubernetes на работающем кластере

Reading time11 min
Views5.8K

Fix by MacRebisz

Привет, я Андрей Квапил, Solution Architect в компании «Флант». Моя специализация — архитектурные решения на базе Kubernetes, в том числе на bare metal, а также разработка и эксплуатация облачных платформ и software-defined storage. 

В Kubernetes часто можно столкнуться с ограничениями, immutable-полями и прочими особенностями. Я хочу показать, что при необходимости такие ограничения можно обходить, а также познакомить вас с паттерном controller и наглядно продемонстрировать работу CNI-, CSI- и CRI-плагинов.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments1

Безопасное хранение secrets в Kubernetes

Reading time10 min
Views26K

В Kubernetes есть такая сущность, как secrets, или секреты. Из названия понятно, что эти данные не могут быть общедоступными, и их нужно как-то защищать и особым образом доставлять в кластеры Kubernetes. В статье разберём, что такое secrets и в чём особенности их хранения и доставки. А также рассмотрим два популярных инструмента для работы с секретами: Hashicorp Vault и Helm Secrets.

Читать дальше
Total votes 29: ↑28 and ↓1+32
Comments9

Пожалуйста, прекратите писать shell-скрипты

Reading time5 min
Views79K

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Total votes 94: ↑70 and ↓24+68
Comments251

Мониторинг начинается с метрик, или Как не сделать из алертов белый шум

Reading time7 min
Views21K


Как известно, нельзя управлять тем, что не измеряешь. В контексте IT-проектов это означает необходимость мониторинга всех частей проекта: от утилизации CPU до бизнес-показателей вроде количества заказов в интернет магазине или показов баннеров на сайте.

Чтобы сервис работал стабильно и техническая поддержка могла в режиме 24/7 быть эффективной, нужно собирать метрики, визуализировать их динамику (в дашбордах и графиках), анализировать результаты и работать с инцидентами — желательно до того, как они стали инцидентами. Однако мониторинг мониторингу рознь. Он выполняет свою функцию, если система:

1) отслеживает метрики, которые нужны для принятия решений, и не мониторит лишнее;
2) уведомляет, когда ещё можно что-то сделать без последствий для работоспособности сервиса, но не спамить ложной тревогой.

Звучит просто и логично, но на практике найти баланс не всегда легко.

Эта статья будет первой в серии заметок о том, как мы организуем мониторинг у наших 400+ клиентов. Расскажем, какие метрики снимаем, каких методологий придерживаемся и какие алерты видим каждый день.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments1

Мониторинг начинается с метрик. Часть 2: серверное ПО

Reading time7 min
Views11K

Продолжаем цикл статей об организации мониторинга. В первом материале разбирали, как и куда вообще имеет смысл навешивать алерты. Теперь поговорим о мониторинге базового серверного ПО, которое встречается в работе практически любого веб-проекта. Хочу поделиться метриками и алертами, которые мы в ITSumma используем для мониторинга виртуальных машин, docker/LXC-контейнеров, web- и application-серверов, supervisor’а, кастомных сервисов, а также ping-url’ов, SSL-сертификатов и доменных имен.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments1

Утилита времен «динозавров»: история системного вызова chroot и его применение в современности

Reading time13 min
Views26K

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

Этот простой системный вызов подменяет местонахождение «корня» файловой системы, «заключая» программу в специально созданное ограниченное окружение. Самая распространенная ситуация — восстановление загрузки операционной системы с помощью live-образа. Но при создании chroot о таком применении не задумывались.

Чтобы найти истоки появления chroot в *NIX-подобных операционных системах, нужно пройти немалый путь по истории IT. В этой статье я расскажу про появление chroot и его применение в современном мире. А еще покажу проекты, которые позволяют прикоснуться к операционным системам эпохи, когда Интернета не было.
Читать дальше →
Total votes 83: ↑82 and ↓1+105
Comments8

О чём говорили на митап по Keycloak от X5 Tech

Reading time1 min
Views5.3K

Привет! Недавно X5 провела об опенсорсном проекте Keyckloack. По традиции публикуем запись мероприятия и презентации спикеров.

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity

Specialization

DevOps, Site Reliability Engineer (SRE)
Lead