Рубрика «devops» - 91

Масштабирование приложения в Kubernetes на основе метрик из Prometheus - 1

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

Как обычно, ресурсов кластера на всех не хватает. Приходится что-то придумывать для оптимизации использования ресурсов, и Kubernetes отлично для этого подходит. В нём есть Horizontal Pod Autoscaler, который позволяет масштабировать приложения на основе метрик.

Масштабирование приложения в Kubernetes на основе метрик из Prometheus - 2

Метрики обычно поставляются метрик-сервером. Дальше я расскажу о замене метрик-сервера Prometheus’ом (потому что Prometheus реализует в себе данные, которые отдаются метрик-сервером и мы избавляемся от одного лишнего звена) и о том, как на основе метрик из Prometheus масштабировать свои приложения в Kubernetes.
Читать полностью »

Kubernetes tips & tricks: перевод работающих в кластере ресурсов под управление Helm 2 - 1

Необходимость подхвата ресурсов кластера Kubernetes может возникнуть в боевых условиях, когда нельзя просто пересоздать их инструментами Helm. Можно выделить две основные причины:

  • Будет простой — вне зависимости от того, облако у вас или bare metal.
  • При удалении могут потеряться сервисы в облаках, а также слетят связанные Load Balancer'ы в Kubernetes.

В нашем же случае, решение потребовалось для подхвата работающих ingress-nginx'ов при интеграции нашего оператора Kubernetes.Читать полностью »

На GitLab удаленка — это не бизнес-риск, а конкурентное преимущество.

Как удаленка ускоряет инновации на GitLab - 1
Я менеджер продуктов на GitLab. Обычно занимаюсь стадией планирования в жизненном цикле DevOps. Я пришел в ноябре 2016 и с тех пор любуюсь, какими семимильными шагами развивается GitLab как продукт и как команда. Многие новички спрашивают меня за кофе о культуре GitLab, особенно об удаленке, ведь мы только так и работаем. Со временем мои взгляды менялись, и я хочу рассказать, почему удаленка кажется мне не препятствием, а конкурентным преимуществом. Во всяком случае, для GitLab.

Читать полностью »

Discovering git vendor extension.

Cross-post from my medium blog: https://medium.com/opsops/git-vendor-295db4bcec3a

I would like to introduce the proper way to handle vendoring of git repositories.

What is is ‘vendoring’?

Vendoring is a way to integrate other’s work into your own. It’s the opposite of ‘linking’ against third-party library. Instead of having that library as a dependency, application uses this library as a part of own source code and keep that code ‘inside’ itself.

Normally, vendoring is done by language tooling: bundler, cargo, pip, etc. But sometimes you need to vendor something not covered by any existing toolset, or something multi-language, that it’s impossible to find the ‘core’ language tool for that.

The solution for this situation is vendoring on a git level. You have your own git repository (I call it ‘destination repo’), and you want to incorporate some other repository (I call it ‘source repo’) as a directory into your (destination repo).

The things you expect from a well-designed vendoring system (regardless of Git it is or not):

Привет, друзья. Краткое содержание предыдущих серий: мы запустили @Kubernetes Meetup в Mail.ru Group и почти сразу поняли, что не вмещаемся в рамки классического митапа. Так появился Love Kubernetes — special edition @Kubernetes Meetup #2 на День всех влюблённых.

Честно сказать, мы немного волновались, любите ли вы Kubernetes настолько сильно, чтобы провести с нами вечер 14 февраля. Но почти 600 заявок на участие в митапе, регистрацию на который пришлось довольно быстро остановить, 400 гостей и ещё 600 участников, которые присоединились к нам в онлайн-трансляции, сказали нам: «Да».

Как прошёл Love Kubernetes в Mail.ru Group 14 февраля - 1

Под катом видео с митапа — про Kubernetes в Booking.com, безопасность в K8S и Kubernetes на Bare Metal, — как всё прошло, кто победил — ваниль или дистрибутивы, — и новости нашей серии @Meetup.
Читать полностью »

Вышел GitLab 11.8 с поддержкой JavaScript в SAST, подгрупп в Pages и функцией отслеживания ошибок - 1
*автор иллюстрации: carmen_dorin

Поддержка JavaScript в SAST

Функция статического тестирования безопасности приложений GitLab (SAST) сканирует исходный код и помогает обнаружить потенциальные угрозы безопасности на ранних стадиях пайплайна. В версии 11.8 мы добавили опцию поддержки JavaScript в SAST в плюс к существующей опции поддержки node.js. Теперь возможно сканирование любых файлов JavaScript, например статических скриптов и HTML. Основным методом DevSecOps является сканирование изменений кода при каждом коммите, и благодаря этому изменению мы охватываем один из самых популярных веб-языков, помогая вам как можно раньше выявлять риски JavaScript.

GitLab Pages для подгрупп и шаблонов

В этом релизе GitLab мы серьезно улучшили Pages, и среди новшеств — 2 ключевых усовершенствования. Во-первых, мы реализовали поддержку GitLab Pages для проектов в подгруппах, обеспечив возможность публикации содержимого этих проектов в сети. GitLab 11.8 также объединяет наши наиболее популярные шаблоны для Pages, и, таким образом, пользователи могут начать работу в один клик.

Отслеживание ошибок с помощью Sentry

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

И множество других отличных функций!

Читать полностью »

image

Вам нужен Kubernetes, а у вашего облачного провайдера такой услуги нет? Мы используем несколько провайдеров и ни у одного из них нет Kubernetes-as-a-Service. Wigin это очень простой в использовании веб-сервис с UI, который может быстро и просто развернуть кластер Kubernetes на любые серверы. И даже немного больше. Читать полностью »

На прошлой неделе было объявлено о том, что отныне все новые сервисы Reddit запускаются в production на инфраструктуре, основанной на Kubernetes-кластерах. Эта значимая веха на пути миграции на K8s одного из популярнейших онлайн-ресурсов, и вот как к ней пришли…

Истории успеха Kubernetes в production. Часть 10: Reddit - 1Читать полностью »

К Load Balancers в системах оркестрации (Kubernetes, Nomad и других) предъявляется больше требований, чем просто балансировка загрузки. Во-первых, Load Balancer должен уметь читать каталог, со списком сервисов, на которые необходимо перенаправлять трафик (или, как вариант, давать возможность сервисам регистрироваться на включение их в трафик). Во-вторых, делать это динамически, т.к. системы оркестрации в любой момент могут увеличить или уменьшить количество реплик сервисов, или переместить их на другие адреса в сети. И, в-третьих, делать это без остановки трафика.

В сегодняшнем сообщении я опишу работу с двумя Load Balancers — Traefik и HAProxy. Эти Load Balancers имеют возможность работать с внушительным списком средств оркестрации. В примерах будет описана работа с системой оркестрации Nomad.
Читать полностью »

Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты».

1.3 Паттерны и антипаттерны в тестировании

1.3.1 Автоматизация Тестирования

  • Паттерн: Автоматизируйте проверку и валидацию программного обеспечения, включив тестирование юнитов, компонентов, емкости, функционала и развертывания.
  • Анти-паттерны: Ручное тестирование юнитов, компонентов, развертывания и тд.
  • Юнит- Автоматизация тестов без зависимостей.
  • Компонент- Автоматизация тестов с зависимостями от других компонентов, баз данных и файловых систем.
  • Развертывание- Автоматизация тестов для проверки успешности развертывания и настройки. Иногда это называют “smoke”-тестированием.
  • Функционал- Автоматизация тестов для проверки поведения ПО с точки зрения пользователя.
  • Емкость- Автоматизация тестирования нагрузки и производительности в условиях, близких к эксплуатационным.

Паттерны и анти-паттерны CI-CD. Часть 2 - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js