Как стать автором
Обновить
47
0

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

Отправить сообщение

Kubernetes API и FlowControl: как контролировать количество и очередность запросов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.3K

«Однажды темным-темным вечером в темной-темной комнате», — так должна начинаться любая по-настоящему страшная история. Однако история, от которой шевелятся волосы на голове DevOps-инженера, звучит совсем иначе: прод упал и ничего не работает. 

Об одном таком случае — как Kube API-серверы заняли всю память и уронили API Kubernetes — мы и рассказали в статье. И конечно, поделились, как ограничивать число запросов в Kubernetes API, чтобы с вами такого не случалось.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии3

Принципы организации объектных хранилищ

Время на прочтение10 мин
Количество просмотров11K
Storage by Phade01

Наш коллега недавно написал об архитектуре объектного S3-хранилища Mail.ru Cloud Storage. Теперь мы переводим хорошую статью об общих особенностях и ограничениях объектных хранилищ.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии2

Новые метрики объектных хранилищ

Время на прочтение6 мин
Количество просмотров3.1K
Flying Fortress by Nele-Diel

Команда объектного S3-хранилища Mail.ru Cloud Storage перевела статью о том, какие критерии важны при выборе объектного хранилища. Далее текст от лица автора.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Автоскейлинг приложений Kubernetes при помощи Prometheus и KEDA

Время на прочтение9 мин
Количество просмотров8.2K
Balloon Man by Cimuanos

Масштабируемость — ключевое требование для облачных приложений. С Kubernetes масштабировать приложение так же просто, как и увеличить количество реплик для соответствующего развертывания или ReplicaSet — но это ручной процесс. Команда Kubernetes aaS от Mail.ru реализовала в своем сервисе автоматическое машстабирование на уровне кластеров. Ну а если вы хотите оптимизироваться на уровне подов — то следуйте рекомендациям этого перевода.

Kubernetes позволяет автоматически масштабировать приложения (то есть Pod в развертывании или ReplicaSet) декларативным образом с использованием спецификации Horizontal Pod Autoscaler. По умолчанию критерий для автоматического масштабирования — метрики использования CPU (метрики ресурсов), но можно интегрировать пользовательские метрики и метрики, предоставляемые извне.

Это статья о том, как использовать внешние метрики для автоматического масштабирования приложения Kubernetes. Чтобы показать, как все работает, автор использует метрики запросов HTTP-доступа, они собираются с помощью Prometheus.

Вместо горизонтального автомасштабирования подов, применяется Kubernetes Event Driven Autoscaling (KEDA) — оператор Kubernetes с открытым исходным кодом. Он изначально интегрируется с Horizontal Pod Autoscaler, чтобы обеспечить плавное автомасштабирование (в том числе до/от нуля) для управляемых событиями рабочих нагрузок. Код доступен на GitHub.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии0

Контрольный список для ревью кода в распределенных системах

Время на прочтение6 мин
Количество просмотров6.8K
points of view by sanja

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

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

Команда Mail.ru Cloud Solutions перевела статью, автор которой несколько лет занимался обнаружением типовых сбоев в коде на продакшене и изучал причины, приведшие к такому результату. В статье — рекомендации по проверке кода, которые автор использует в качестве базового контрольного списка.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии3

Краткое руководство по разработке чартов в Helm

Время на прочтение6 мин
Количество просмотров18K
Unsplash by Frank Eiffert

Helm — мощный инструмент для применения, обновления и управления приложениями в Kubernetes. Сообщество Helm создает множество чартов с открытым исходным кодом. Вы можете развернуть Redis, Nginx или Prometheus Operator с помощью одной команды. И они поставляются со всем, что нужно, например с Ingress.

Команда Mail.ru Cloud Solutions перевела статью, автор которой описывает быстрый способ создания базового чарта, показывает полезные команды и делится лучшими практиками. Он не останавливается на аспектах языка шаблонов Go, поскольку большинство из них описаны в документации по Helm. В этом руководстве — более абстрактные аспекты и идеи по улучшению рабочего процесса.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+24
Комментарии1

Как получить доступ к ресурсам Kubernetes Pod

Время на прочтение8 мин
Количество просмотров4.9K
The Reward by Tohad

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

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

Команда Kubernetes aaS от Mail.ru перевела статью о ресурсах контейнеров (CPU & MEM), запросах и ограничениях ресурсов. Вы узнаете, какие преимущества дают эти настройки и что произойдет, если их не установить.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+32
Комментарии1

Простое объяснение CRD в Kubernetes и как его использовать

Время на прочтение3 мин
Количество просмотров21K
Space by maryanion

CRD (Custom Resource Definition) — специальный ресурс в Kubernetes, который позволяет вносить любые данные. Команда Kubernetes aaS от Mail.ru перевела статью о том, что это такое, как его создать и использовать.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+17
Комментарии3

Вариативные функции в Go

Время на прочтение3 мин
Количество просмотров10K
fade by clockbirds

Команда Mail.ru Cloud Solutions перевела статью о вариативных функциях в Go. Ее автор рассказывает, чем вариативные функции отличаются от обычных и как их создавать.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+9
Комментарии4

Лучшие практики bash-скриптов: краткое руководство по надежным и производительным скриптам bash

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

Shell wallpaper by manapi

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

Команда Mail.ru Cloud Solutions перевела статью с рекомендациям, благодаря которым вы сможете лучше писать, отлаживать и поддерживать свои сценарии. Хотите верьте, хотите нет, но ничто не может сравниться с удовлетворением от написания чистого, готового к использованию bash-кода, который работает каждый раз.

В статье автор делится тем, что узнал за последние несколько лет, а также некоторыми распространенными ошибками, которые заставали его врасплох. Это важно, потому что каждый разработчик программного обеспечения в определенный момент своей карьеры работает со сценариями для автоматизации рутинных рабочих задач.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+54
Комментарии70

Использование переменных Grafana для большей интерактивности дашбордов

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

Flowers and butterflies by marijeberting

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

Команда Mail.ru Cloud Solutions перевела статью, которая поможет добавить в Grafana функции, позволяющие пользователям создавать собственные интерактивные дашборды, чтобы углубиться в конкретные детали.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+20
Комментарии4

Автогенерация секретов в Helm

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


Команда Kubernetes aaS от Mail.ru перевела короткую заметку о том, как автоматически генерировать секреты Helm при обновлении. Далее текст от автора статьи — технического директора Intoware, компании-разработчика SaaS-решений.

Контейнеры — это круто. Сначала я был противником контейнеров (стыдно признаться), но теперь я полностью поддерживаю использование этой технологии. Если вы читаете это, то, надеюсь, успешно плавали по морям Docker, осознали преимущества Kubernetes и сделали свою жизнь намного проще с Helm.

Тем не менее некоторые вещи явно сложнее, чем должны быть.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии1

Пример event-driven приложения на основе вебхуков в объектном S3-хранилище Mail.ru Cloud Solutions

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

Rube Goldberg coffee machine

Event-driven architecture повышает ценовую эффективность используемых ресурсов, потому что они задействуются только в тот момент, когда они нужны. Существует масса вариантов, как это реализовать и не создавать дополнительные облачные сущности в качестве worker-приложений. И сегодня я расскажу не про FaaS, а про вебхуки. Я покажу учебный пример обработки событий с помощью вебхуков объектного хранилища.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+25
Комментарии0

Как обслуживать etcd: несколько замечаний и советов

Время на прочтение7 мин
Количество просмотров17K
Inside of the Nautical Cave by AshnoAlice

Если вы администрируете кластеры Kubernetes в своей инфраструктуре, а не используете версии, управляемые облачными провайдерами, то, скорее всего, уже управляете кластером etcd. Для тех, кому это внове, команда Kubernetes aaS от Mail.ru перевела статью о том, как обслуживать etcd.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии2

Работа с объектным S3-хранилищем Mail.ru Cloud Solutions как с файловой системой

Время на прочтение4 мин
Количество просмотров10K
Waste Pickers by GabrielBStiernstrom

С объектными хранилищами чаще всего работают через API. Но если очень хочется, можно сложить туда файлы и работать с ними в объектном хранилище, как в файловой системе, с иерархией каталогов. Грубо говоря, в хранилище можно выложить фотографии и разложить их по папочкам по годам, а в каждом годе сделать папочки соответственно месту съёмки.

Само по себе объектное хранилище никакую иерархию не предоставляет, так что для имитации файловой системы используют специальные утилиты. Такая схема позволяет само хранение организовать со всеми преимуществами облака (доступ из любой локации, встроенное резервирование данных в облаке, резиновое масштабирование), но работать с объектами в логике, привычной человечеству ещё со времён Norton Commander.

Эта статья как раз про то, как настроить работу с объектным хранилищем на примере Mail.ru Cloud Solutiuons (MCS) как с файловой системой. Мы быстренько создадим хранилище и покажем, как подключить к нему три утилиты:

  • Диск-О (для Windows/Mac, с MCS работает бесплатно).
  • Cyberduck (для Windows/Mac).
  • s3fs-fuse (для Unix-like систем).
Читать дальше →
Всего голосов 19: ↑14 и ↓5+19
Комментарии10

Как эффективнее использовать kubectl: подробное руководство

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

Если вы работаете с Kubernetes, то, вероятно, kubectl — одна из самых используемых вами утилит. А всякий раз, когда вы тратите много времени на работу с определенным инструментом, стоит хорошо его изучить и научиться эффективно использовать.

Команда Kubernetes aaS от Mail.ru перевела статью Даниэля Вейбеля, в которой вы найдете советы и приемы для эффективной работы с kubectl. Также она поможет глубже понять работу Kubernetes.

По словам автора, цель статьи — сделать вашу ежедневную работу с Kubernetes не только более эффективной, но и более приятной!
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии3

Настройка GeoIP ACL в HAProxy в два шага

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

Hello Planets by Augustinas Raginskis

Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиента. Традиционно подобные вещи реализуются при помощи библиотек GeoIP компании MaxMind. В статье расскажу, как это сделать.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии4

Наблюдаемость SRE: пространства имен и структура метрик

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

Spyglass by Shorai-san

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

Это дает ряд преимуществ: просмотр определенных подмножеств данных, определение метрики с точки зрения ее дочерних элементов и установление соотношений между метриками.

Команда Mail.ru Cloud Solutions перевела статью, в которой рассматриваются свойства пространств имен метрик, позволяющие постепенно увеличивать детализацию запросов и переходить к подмножествам данных, а также просматривать метрику с точки зрения метрик, из которых она состоит. Многие из этих концепций вам знакомы, так как они реализованы в нативных решениях для облачного мониторинга, таких как Prometheus и DogStatsD.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии0

Балансировка нагрузки и масштабирование долгоживущих соединений в Kubernetes

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

Эта статья, которая поможет разобраться в том, как устроена балансировка нагрузки в Kubernetes, что происходит при масштабировании долгоживущих соединений и почему стоит рассматривать балансировку на стороне клиента, если вы используете HTTP/2, gRPC, RSockets, AMQP или другие долгоживущие протоколы. 
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии4

Как использовать Prometheus для обнаружения аномалий в GitLab

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

Одной из базовых функций языка запросов Prometheus является агрегация временных рядов в режиме реального времени. Также язык запросов Prometheus можно использовать для обнаружения аномалий в данных временных рядов. 

Команда Mail.ru Cloud Solutions перевела статью инженера команды инфраструктуры GitLab, где вы найдете примеры кода, которые сможете попробовать на своих системах.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии2
1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность