Как стать автором
Поиск
Написать публикацию
Обновить
280.76

DevOps *

Методология разработки программного обеспечения

Сначала показывать
Порог рейтинга
Уровень сложности

Kapitan за штурвалом Kubernetes

Время на прочтение6 мин
Количество просмотров4.7K


Знакомьтесь — Kapitan. Он поможет вам навести красоту и порядок в конфигурации Kubernetes.


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


На kubernetes.slack.com #kapitan успел собрать небольшое, но преданное сообщество (присоединяйтесь!), поэтому мы гордимся своей работой :)


Многие до сих пор считают, что Kapitan — это смесь jsonnet и jinja, но они упускают суть.
В этом посте я расскажу, как Kapitan управляет деплоями Kubernetes, но вообще-то он способен не только на это. Это важно: Kapitan универсален и не зациклен на одном Kubernetes. Kubernetes — это просто один из множества вариантов использования.


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

Читать дальше →

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

Время на прочтение5 мин
Количество просмотров12K


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

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



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

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

Время на прочтение5 мин
Количество просмотров5.6K


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

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

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

Mattermost. Интеграция с внешними сервисами (часть 2)

Время на прочтение3 мин
Количество просмотров8K

Продолжим разбираться с mattermost в части интеграции с внешними сервисами.


Часть вторая. Интеграция с Zabbix


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

Читать дальше →

Как удаленка ускоряет инновации на GitLab

Время на прочтение4 мин
Количество просмотров8.1K

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



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

Читать дальше →

Mattermost. Интеграция с внешними сервисами

Время на прочтение4 мин
Количество просмотров21K

Выбирая замену, используемой у нас системы обмена сообщениями, наткнулся на описание Mattermost, и решил попробовать. Одним из плюсов, описываемой системы, является простая интеграция со сторонними сервисами, так называемые "хуки" (outgoing и incoming hooks). Вот про настройку взаимодействия через хуки с внешними системами и будет данная статья (в нашем конкретном случае это zabbix и glpi).

Читать дальше →

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

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

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



Под катом видео с митапа — про Kubernetes в Booking.com, безопасность в K8S и Kubernetes на Bare Metal, — как всё прошло, кто победил — ваниль или дистрибутивы, — и новости нашей серии @Meetup.
Вместо тысячи слов: видео, фото и немного слов о Love Kubernetes

Зрелая исполняемая среда для контейнеров: containerd стал «выпускником» CNCF

Время на прочтение4 мин
Количество просмотров7.9K
За проектом containerd мы следим с самого его начала. Посему не можем обойти вниманием значимое событие: минувшей ночью организация CNCF, стоящая за Kubernetes и другими выдающимися Open Source-решениями для мира cloud native, объявила containerd своим «выпускником». Этот проект стал уже пятым с таким статусом, пополнив ряды K8s, Prometheus, Envoy и CoreDNS.

Читать дальше →

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

Время на прочтение19 мин
Количество просмотров4.6K


*автор иллюстрации: carmen_dorin


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


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


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


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


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


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


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

Читать дальше →

Eclipse Che 7 уже здесь

Время на прочтение6 мин
Количество просмотров8.6K
У онлайн-платформы разработки Eclipse Che выдался отличный год. В начале 2018 года была выпущена Eclipse Che 6.0, которая получила ряд новых функций для команд разработчиков, заинтересованных в создании cloud-native applications, а на конференции CheConf 18.1 было анонсировано начало следующего этапа в развитии – Eclipse Che 7.



С каждым новым релизом платформа становится все интереснее благодаря усилиям сообщества и активному участию пользователей. Посмотрим, насколько изменились и расширились доступные возможности, и как их можно попробовать прямо сейчас.
Читать дальше: Eclipse Che 7 уже здесь, и че?

k3s – маленький, но сертифицированный Kubernetes от Rancher Labs

Время на прочтение1 мин
Количество просмотров14K
image

Требования:

  • Linux 3.10+
  • 512 MB of ram per server
  • 75 MB of ram per node
  • 200 MB of disk space
  • x86_64, ARMv7, ARM64

Rancher Labs выпустила новый продукт для Edge, IoT, CI с поддержкой ARM: k3s

Нет поддержки Legacy/Alpha, есть замена etcd3 на sqlite по умолчанию (можно включить etcd3).

Вместо Docker используется containerd: нет libnetwork, swarm, драйверов для Docker storage.
Для сокращения потребления памяти объеденены в один процесс Kubelet, kubeproxy и flannel agent.

Инсталлятор простой, сертификаты генерируются автоматически.

k3s.io
github.com/rancher/k3s
Читать дальше →

«Контейнеры выиграли бой, но проиграют войну бессерверной архитектуре», — Саймон Уордли (Simon Wardley)

Время на прочтение6 мин
Количество просмотров9.4K


Саймон Уордли в гостях у «Serverless Superheroes»


Добро пожаловать в «Serverless Superheroes»!


Здесь я общаюсь с создателями инструментов, новаторами и разработчиками, которые ведут нас в светлое бессерверное будущее.


Сегодня я беседую с Саймоном Уордли, консультантом Leading Edge Forum и специалистом по ситуационному восприятию, принципам и геймплею. Для удобства я отредактировал интервью.

Читать дальше →

Запускаем приложение в Openshift и сравниваем существующий инструментарий

Время на прочтение4 мин
Количество просмотров11K

This is fine


Я хочу рассказать история, как запускали приложение в Openshift. Так же по ходу пьесы рассмотрим утилиты для управления приложением внутри Openshift. Это расшифровка выступления на kubernetes SPB meetup #3..

Читать дальше →

Ближайшие события

Создание Dataflow шаблона для стриминга данных из Pub/Sub в BigQuery на базе GCP с помощью Apache Beam SDK и Python

Время на прочтение9 мин
Количество просмотров8.8K

image


В данный момент занимаюсь задачей стриминга (и преобразования) данных. В некоторых кругах
такой процесс известен как ETL, т.е. извлечение, преобразование и загрузка информации.


Весь процесс включает в себя участие следующих сервисов Google Cloud Platform:


  • Pub/Sub — сервис для realtime стриминга данных
  • Dataflow — сервис для преобразования данных (может
    работать как в realtime так и в batch режиме)
  • BigQuery — сервис для хранения данных в виде таблиц
    (поддерживает SQL)
Читать дальше →

Kubespray-as-a-Service — добавляем Kubernetes к любому облаку

Время на прочтение2 мин
Количество просмотров4.1K
image


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

Истории успеха Kubernetes в production. Часть 10: Reddit

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

Читать дальше →

Ликбез по запуску Istio

Время на прочтение9 мин
Количество просмотров53K


Istio Service Mesh


Мы в Namely уже год как юзаем Istio. Он тогда только-только вышел. У нас здорово упала производительность в кластере Kubernetes, мы хотели распределенную трассировку и взяли Istio, чтобы запустить Jaeger и разобраться. Service mesh так здорово вписалась в нашу инфраструктуру, что мы решили вложиться в этот инструмент.


Пришлось помучиться, но мы изучили его вдоль и поперек. Это первый пост из серии, где я расскажу, как Istio интегрируется с Kubernetes и что мы узнали о его работе. Иногда будем забредать в технические дебри, но не сильно далеко. Дальше будут еще посты.

Читать дальше →

Load Balancers для систем оркестрации

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

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

Паттерны и анти-паттерны CI/CD. Часть 2

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

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

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

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

Читать дальше →

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

Время на прочтение5 мин
Количество просмотров18K


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


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


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

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

Читать дальше →

Вклад авторов