Jaeger: Установка и использование для распределённого трейсинга в Kubernetes

Введение Jaeger — это open-source инструмент для распределённого трейсинга, разработанный Uber. Используется для мониторинга и отладки микросервисов. Это руководство покажет, как установить и использовать Jaeger в Kubernetes с примерами. Зачем использовать Jaeger? Визуализация зависимостей и задержек между сервисами Поиск узких мест в производительности Отслеживание запросов через микросервисы Поддержка OpenTelemetry Требования Запущенный кластер Kubernetes (например, Minikube, k3s, GKE и т.д.) Настроенный kubectl Установлен Helm 1. Установка Jaeger через Helm helm repo add jaegertracing https://jaegertracing.github.io/helm-charts helm repo update helm install jaeger jaegertracing/jaeger --set query.basePath=/jaeger --set ingress.enabled=true --set ingress.hosts="{jaeger.yourdomain.com}" Для локального доступа: ...

августа 29, 2025 · 1 минута · 211 слов · John Cena

Какой образ JDK использовать: OpenJDK, Zulu или Eclipse Temurin?

Введение Выбор подходящего базового образа JDK для контейнеризированных Java-приложений влияет на производительность, поддержку и безопасность. В этой статье мы сравним OpenJDK, Zulu и Eclipse Temurin. Почему важно выбрать правильный образ JDK Образ JDK влияет на: Совместимость приложения Использование памяти и время запуска Частоту обновлений и патчей Поддержку от вендора Обзор вариантов 1. OpenJDK Официальная реализация Java: FROM openjdk:17-jdk-slim Плюсы: Поддержка от официального проекта Хороший выбор по умолчанию Минусы: Может обновляться реже других дистрибутивов 2. Zulu (от Azul) Сертифицированная сборка OpenJDK от Azul: ...

августа 27, 2025 · 1 минута · 194 слова · John Cena

Как восстановить удалённый файл в Git

Как восстановить удалённый файл в Git Удалили важный файл в Git и не знаете, как его вернуть? Не переживайте — история изменений сохраняется, и вы легко можете восстановить файл. 🔍 1. Найдите коммит, где файл ещё существовал Выполните команду: git log --diff-filter=D --summary Вы увидите список удалённых файлов и коммиты, в которых они были удалены. Или просмотрите историю конкретного файла: git log -- <путь/к/файлу> ♻️ 2. Восстановите файл с помощью git checkout Если вы знаете хеш коммита, где файл ещё был в наличии: ...

августа 25, 2025 · 1 минута · 200 слов · John Cena

Что такое ndots в Kubernetes и как оно влияет на DNS

Что такое ndots и зачем оно нужно в Kubernetes Параметр ndots в DNS-настройках определяет, как Kubernetes трактует доменные имена: как полные (FQDN) или как неполные, требующие дополнения из поисковых доменов. Как работает ndots Если в имени содержится количество точек меньше, чем указано в ndots, Kubernetes сначала добавляет поисковые домены из /etc/resolv.conf, а потом делает запрос. Пример При ndots:5 и запросе service.default (в нём одна точка) будут пробоваться: service.default.<search-domain> service.default Затем полное имя Почему это важно Избыточные DNS-запросы — больше обращений к кластерному DNS. Задержки при резолвинге — особенно критично для сервисов. Неверные разрешения — если имя не соответствует шаблону поиска. Рекомендованное значение Обычно в Kubernetes рекомендуют: ...

августа 25, 2025 · 1 минута · 1 слово · John Cena

Статические поды в Kubernetes: что это, зачем и как использовать

Статические поды в Kubernetes: что это, зачем и как использовать В Kubernetes большинство подов управляются контроллерами (Deployment, DaemonSet) через API-сервер. Однако существуют статические поды — они управляются напрямую через kubelet и не зависят от управляющих компонентов кластера. Зачем использовать статические поды Для запуска системных компонентов на узле (например, мониторинга или логгирования). Когда нужен под, работающий независимо от control plane. При инициализации собственного кластера Kubernetes (например, для запуска etcd). Основные особенности Управляются только kubelet. Не отображаются через kubectl, если не синхронизируются с API-сервером. Задаются YAML-манифестом в специальной директории. Как создать статический под 1. Указание пути манифестов для kubelet Убедитесь, что параметр --pod-manifest-path указан в конфигурации или systemd-сервисе kubelet: ...

августа 23, 2025 · 2 минуты · 234 слова · John Cena