Усі статті за тегом docker
Grafana Tempo: трейсінг і моніторинг розподілених систем
DevOps-команди часто стикаються з ситуаціями, коли частина запитів в розподіленій системі несподівано сповільнюється або навіть “падає”. В логах — тиша, моніторинг метрик показує лише загальні коливання навантаження, а зрозуміти, що саме стало причиною, складно. У таких випадках на допомогу приходить трасування — технологія, що дозволяє “побачити” шлях запиту крізь усі сервіси.
Grafana Tempo — це система зберігання і обробки трейсов, яка інтегрується з інструментами моніторингу і спрощує аналіз розподілених систем. Вона дає змогу побудувати ефективну Observability-інфраструктуру без великих витрат на зберігання. У цій статті ми розглянемо, як працює Grafana Tempo, чим вона відрізняється від інших рішень і як її використовувати на практиці.
Запуск node.js додатку на Docker
У одній із наших попередніх робіт ми розглядали процес створення та запуску PHP-додатку у Docker. Тепер спробуємо продемонструвати у середовищі Docker роботу із додаткомтипу Node.js. Нашим основним завданням буде отримання «зафіксованого» у Docker-контейнері ізольованого середовища для створення, редагування та запуску Node.js додатку. Потім такий контейнер можна «переправити» на будь-який інший хост або помістити у Docker Hub репозиторій для подальшого використання та / або «роздачі» у відкритому доступі.
Як використовувати docker exec
Інструмент контейнеризації Docker CE надає широкі можливості для роботи із багатокомпонентними додатками на найвищому рівні абстракції – рівні контейнерного середовища. Ефективність такої роботи, зокрема, забезпечується внутрішніми механізмами керування контейнерами зсередини. Одним з них є утиліта exec, котра дозволяє запускати команди всередині активного контейнеру та керувати усіма внутрішніми процесами у інтерактивному режимі. Як і будь-який програмний засіб, утиліта має свої особливості використання, зокрема, це стосується параметрів її запуску. Розглянемо більш детально роботу з нею у реальному Docker-середовищі на VPS-сервері під керуванням Ubuntu 22.04.
Minikube - опис, інсталяція та налаштування
Розробка та управління розгалуженими додатками нині не уявляється без використання контейнерного середовища, котре прийшло на зміну середовищу віртуальних машин. Однак складність його організації вимагає наявності інструментарію для здійснення координації роботи контейнерів або їх оркестрування. Одним з таких інструментів є Kubernetes, котрий здатний виконувати вказані функції як у розгалужених системах, так і локальних. Програмний інструмент Minikube є засобом забезпечення роботи Kubernetes саме у межах локального середовища. Для цього він і був створений. Розглянемо його використання у контейнерному середовищі Docker, розгорнутому на VPS-сервері під керуванням ОС Ubuntu 22.04.
Namespaces та cgroups: як влаштовані контейнери в Linux без Docker
Для розробки, доставки та запуску багатокомпонентних розподілених додатків широко використовуються такі інструменти контейнеризації, як Docker, Podman, Kubernetes та інші, котрі забезпечують умови роботи середовища виконання. Однак, не всі знають, що вказані інструменти не є абсолютно незалежними, а використовують для своєї роботи влаштовані у ядро ОС Linux засоби контейнеризації, зокрема, Namespaces та Cgroup. Саме вони дають змогу працювати із контейнерами, котрі можна порівняти із полегшеними віртуальними машинами. Пряме використання влаштованих засобів контейнеризації дає можливість створити ізольоване середовище для запуску та виконання будь-якого процесу, зокрема, завдання адміністрування Linux. Розглянемо методи створення та управління ізольованими Runtime-середовищами за допомогою влаштованих засобів ядра Linux.
Що таке Change Data Capture
Забезпечення ефективної інтеграції розподілених баз даних є задачею нетривіальною, котра вимагає значних витрат ресурсів, як при розробці системи інтеграції, так і при її експлуатації. Системи такого типу отримали назву CDC (Change Data Capture), що буквально перекладається як «захват змінених даних». Існує безліч підходів, щодо їх реалізації, одним з яких є інструмент Debezium. Його використання дозволяє спростити процес інтеграції та розвантажити веб-додатки, котрі працюють безпосередньо з базами даних. Розглянемо коротко його можливості та продемонструємо процес розгортання на сервері Ubuntu.
Як за допомогою docker запустити оточення для розробки nginx + php + mysql
Процес створення сучасного PHP-додатку важко уявити без використання контейнерного середовища, яке значно підвищує ефективність розробки порівняно із звичайними умовами. Docker, один з найпоширеніших інструментів, здатний забезпечити існування середовища, у котрому в автоматичному режимі буде здійснюватися оркестрування контейнерів додатку, кількість яких майже не обмежена. Розглянемо послідовність дій для розгортання середовища та створення контейнерів для компонентів додатку.
Технологія Docker Swarm
Інтегрований у Docker Engine інструментарій або Swarmkit для управління кластером є засобом реалізації рівня оркестрування задач системи Docker. Він дає можливість вибудовувати та управляти кластерами будь-якої конфігурації та розміру, балансуючи при цьому навантаження на кластер у автоматичному режимі. Механізм Docker Swarm дозволяє запускати сервіси Docker Compose у межах розгалуженого кластеру, а не тільки у локальному середовищі. Розглянемо його більш детально та продемонструємо роботу з ним у реальному програмному середовищі.
- 1
- 2
