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

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Читать полностью »

Опыт построения инфраструктуры на микросервисной архитектуре - 1

За последний год публикаций о микросервисах стало так много, что рассказывать что это и зачем нужно было бы пустой тратой времени, так что дальнейшее изложение будет сконцентрировано на вопросе — каким способом бы реализовали эту архитектуру и почему именно так и с какими проблемами столкнулись.

У нас в небольшом банке были большие проблемы: 3 python монолита связанных чудовищным количеством синхронных RPC взаимодействий с большим объемом legacy. Что бы хотя бы отчасти решить все возникающие при этом проблемы было принято решение перейти на микросервисную архитектуру. Но прежде чем решиться на такой шаг нужно ответить на 3 основных вопроса:

  • Как разбить монолит на микросервисы и какими критериями следует при этом руководствоваться.
  • Каким образом микросервисы будут взаимодействовать?
  • Как осуществлять мониторинг?

Собственно кратким ответам на эти вопросы и будет посвящена данная статья.

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


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