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

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

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

Чек-лист по разработке облачных приложений. Часть 1

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.7K

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

Посмотреть чек-лист
Всего голосов 6: ↑5 и ↓1+6
Комментарии6

CPU-лимиты и агрессивный троттлинг в Kubernetes

Время на прочтение8 мин
Количество просмотров40K
Прим. перев.: эта поучительная история Omio — европейского агрегатора путешествий — проводит читателей от базовой теории до увлекательных практических тонкостей в конфигурации Kubernetes. Знакомство с такими случаями помогает не только расширять кругозор, но и предотвращать нетривиальные проблемы.



Доводилось ли вам сталкиваться с тем, что приложение «застревало» на месте, переставало отвечать на запросы о проверке состояния (health check'и) и вы не могли понять причину такого поведения? Одно из возможных объяснений связано с лимитом квот на ресурсы CPU. О нем и пойдет речь в этой статье.

TL;DR:
Мы настоятельно рекомендуем отказаться от CPU limit'ов в Kubernetes (или отключить квоты CFS в Kubelet), если используется версия ядра Linux с ошибкой CFS-квот. В ядре имеется серьезный и хорошо известный баг, который приводит к избыточному троттлингу и задержкам
.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии3

Изучаем Docker, часть 3: файлы Dockerfile

Время на прочтение12 мин
Количество просмотров736K
В переводе третьей части серии материалов, посвящённых Docker, мы продолжим вдохновляться выпечкой, а именно — бубликами. Нашей сегодняшней основной темой будет работа с файлами Dockerfile. Мы разберём инструкции, которые используются в этих файлах.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными


Бублики — это инструкции в файле Dockerfile
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии11

Ломаем и чиним Kubernetes

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

Kubernetes отличная платформа как для оркестрации контейнеров так и для всего остального. За последнее время Kubernetes ушёл далеко вперёд как по части функциональности так и по вопросам безопасности и отказоустойчивости. Архитектура Kubernetes позволяет с лёгкостью переживать сбои различного характера и всегда оставаться на плаву.

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

Поехали! (╯°□°)╯︵ ┻━┻
Всего голосов 28: ↑28 и ↓0+28
Комментарии20

Ломаем и чиним etcd-кластер

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

etcd — это быстрая, надёжная и устойчивая к сбоям key-value база данных. Она лежит в основе Kubernetes и является неотъемлемой частью control-plane, именно поэтому критически важно уметь бэкапить и восстанавливать работоспособность как отдельных нод, так и всего etcd-кластера.

В предыдущей статье мы подробно рассмотрели перегенерацию SSL-сертификатов и static-манифестов для Kubernetes, а также вопросы связанные c восстановлением работоспособности Kubernetes-кластера. Эта статья будет посвящена целиком и полностью восстановлению etcd.

Поехали! ┬─┬ ノ( ゜-゜ノ)
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Prometheus Alert Hints

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров12K

Привет! Меня зовут Александр Голиков, я работаю в компании Bercut. Наша компания разрабатывает и развивает IT-решения для операторов цифровых услуг и мобильных сервисов. Коротко говоря, мы помогаем цифровизации бизнеса. В компании я занимаюсь виртуализацией, СХД, мониторингом, разработкой и интеграцией продуктов Bercut c операционными системами. Для агрегации данных и анализа мы используем Prometheus.

В этой статье рассмотрю одну из конфигураций Prometheus в отказоустойчивом режиме, познакомлю вас с Karma alert dashboard и продемонстрирую написание алертов. Напишу несколько простых включений Go Template и рассмотрю ситуацию, где такие включения противопоказаны. Продемонстрирую, как на основе меток можно сделать исключения из общих правил и обучу Prometheus самостоятельно чинить поломки.

Погнали!
Всего голосов 21: ↑21 и ↓0+21
Комментарии9

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

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

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

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

ТОП-10 экспортеров для Prometheus 2023

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

Статья Основы мониторинга (обзор Prometheus и Grafana) оборвалась на самом интересном месте. Автор предложил искать и использовать актуальные экспортеры, а читатель такой – окей, где референс? Что ж, давайте рассмотрим топ-10 наиболее полезных экспортеров на начало 2023 года – возможно именно их вам не хватало, чтобы построить свою идеальную систему мониторинга!

Читать далее
Всего голосов 10: ↑8 и ↓2+7
Комментарии9

Спокойный сон и крепкие нервы. Резервное копирование для Kubernetes. Часть 1

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

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

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

Все должно быть под контролем. Резервное копирование для Kubernetes. Часть 2

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

В первой части мы рассмотрели подходы к созданию резервных копий контейнеров в кластере Kubernetes с использованием restic над каталогом данных и относительно новых возможностей CSI для создания и восстановления мгновенных снимков. Пришло время поговорить о возможностях автоматизации управления резервными копиями, о мониторинге процесса и иных важных DevOps-задачах.

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии0

Продвинутая Helm-шаблонизация: выжимаем максимум

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


Стандартной Helm-библиотеки и привычных подходов к написанию Helm-чартов обычно хватает для автоматизации несложных приложений. Но когда количество и сложность Helm-чартов растут, то минималистичных Go-шаблонов и неоднозначной стандартной Helm-библиотеки быстро перестаёт хватать. В этой статье речь пойдет о том, как сделать ваши Helm-шаблоны гораздо более гибкими и динамичными, реализуя свои собственные «функции» в Helm, а также эксплуатируя tpl.

NB. Всё описанное было проверено с werf, но так как шаблоны в этой утилите практически идентичны Helm-шаблонам, то и всё нижеприведенное будет полностью или почти полностью совместимо с обычным Helm обеих версий (v2 и v3).

А теперь разберем, как получить от Helm-шаблонов всё, что можно… и даже всё, что нельзя!
Читать дальше →
Всего голосов 39: ↑38 и ↓1+50
Комментарии18

Istio в разрезе: что умеет и не умеет самый популярный Service Mesh (обзор и видео доклада)

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров41K

В докладе я препарирую Istio, дабы понять, как он работает, какие у него подводные камни и как им правильно пользоваться.

Это мой второй доклад про Istio и Service Mesh. Первый я сделал на конференции Kuber Conf 2021: «Что ждать от внедрения Istio?». Рекомендую ознакомиться сначала с ним, будет несколько проще.

Читать далее
Всего голосов 57: ↑56 и ↓1+68
Комментарии8

Достать до звезд: Осваиваем операторы Ansible для управления приложениями в Kubernetes

Время на прочтение9 мин
Количество просмотров16K
Посмотрим, как использовать опубликованные в Ansible Galaxy роли (Role) в качестве операторов (Operator), управляющих приложениями в Kubernetes, и разберем это на примере создания оператора, который просто устанавливает приложение, гибко настраивая свое поведение в зависимости от среды.



Мы будем использовать Ansible Operator и модуль k8s, чтобы показать, как применять Ansible для создания Kubernetes-приложений.
Читать дальше: Осваиваем операторы Ansible для управления приложениями в Kubernetes
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 3: мониторинг приложения, CI/CD и собственный Helm-чарт

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

Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. 

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

Мониторинг ping'ов между узлами Kubernetes — наш рецепт

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


Нередко при диагностике проблем в кластере Kubernetes мы замечаем, что иногда моросит* один из узлов кластера и, конечно же, происходит это редко и странно. Так мы пришли к необходимости в инструменте, который бы делал ping с каждого узла на каждый узел и отдавал результаты своей работы в виде метрик Prometheus. Нам бы оставалось лишь нарисовать графики в Grafana и быстро локализовать сбойный узел (и при необходимости убрать с него все pod'ы, после чего произвести соответствующие работы**)…
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии18

Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak

Время на прочтение7 мин
Количество просмотров20K
Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее.

В этой статье я расскажу как установить и настроить:

  • Keycloak — это проект с открытым исходным кодом. Который обеспечивает единую точку входа для приложений. Работает с множеством протоколов, в том числе с LDAP и OpenID которые нас интересуют.
  • Keycloak gatekeeper — реверс прокси приложения, позволяющее интегрировать авторизаию через Keycloak.
  • Gangway — приложение которе генерирует конфиг для kubectl с помощью которого через OpenID можно авторизоваться и подключиться к Kubernetes API.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Как оптимизировать ограничения ресурсов Kubernetes

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

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

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

Prometheus — одно из самых популярных решений для мониторинга кластеров Kubernetes. Поэтому каждый шаг в этом руководстве содержит примеры запросов PromQL.

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

Собираем логи с Loki

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


Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов.


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

Всего голосов 44: ↑44 и ↓0+44
Комментарии16

Основы автоматизации в Ansible: роли и сценарии

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

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

Читать далее
Всего голосов 15: ↑11 и ↓4+8
Комментарии5

Что происходит в Kubernetes при запуске kubectl run? Часть 1

Время на прочтение11 мин
Количество просмотров20K
Прим. перев.: Этот материал, озаглавленный в оригинале как «What happens when… Kubernetes edition!» и написанный Jamie Hannaford из компании Rackspace, является отличной иллюстрацией работы многих механизмов Kubernetes, которые зачастую скрыты от нашего глаза, но весьма полезны для лучшего понимания устройства этой Open Source-системы, алгоритма работы и взаимосвязей её компонентов. Поскольку вся статья весьма объёмна, её перевод разбит на две части. В первой речь идёт про работу kubectl, kube-apiserver, etcd и initializers.

P.S. Некоторые оригинальные ссылки на код в master-ветках были заменены на последние к моменту перевода коммиты, чтобы актуальность номеров строк, к которым отсылает автор, сохранялась долгое время.




Представим, что я хочу задеплоить nginx в кластере Kubernetes. Я введу в терминале нечто такое:

kubectl run --image=nginx --replicas=3

… и нажму на Enter. Через несколько секунд увижу 3 пода с nginx, распределённые по всем рабочим узлам. Работает — словно по волшебству, и это здорово! Но что на самом деле происходит под капотом?
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность