Встречайте новый формат инженерного диалога
T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security- и дата-инженеры, аналитики, DevOps-, SRE-, CI/CD-, AI-, ML-, R&D- и DX -специалисты.
Как все устроено:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.
А еще много практики, интересных знакомств и живых систем.
Успейте подать заявку
T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security- и дата-инженеры, аналитики, DevOps-, SRE-, CI/CD-, AI-, ML-, R&D- и DX -специалисты.
Как все устроено:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.
А еще много практики, интересных знакомств и живых систем.
Успейте подать заявку
❤3
Как установить и настроить kubectl на Linux
kubectl - это CLI-инструмент для взаимодействия с кластерами Kubernetes. Независимо от того, управляете ли вы контейнерами, деплоите приложения или устраняете проблемы в кластере, kubectl является вашим основным интерфейсом для работы с API-сервером K8s.
Читать тут
👉 DevOps Portal
kubectl - это CLI-инструмент для взаимодействия с кластерами Kubernetes. Независимо от того, управляете ли вы контейнерами, деплоите приложения или устраняете проблемы в кластере, kubectl является вашим основным интерфейсом для работы с API-сервером K8s.
Читать тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🥱6👍4🤝1
Это инструмент на Golang, который анализирует распределение и использование GPU-ресурсов в кластерах Kubernetes, снижая нагрузку на API-server примерно до ~75 %, при этом предоставляя наглядную статистику использования по каждому node и pod
GitHub: k8s-gpu-analyzer
👉 DevOps Portal
GitHub: k8s-gpu-analyzer
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥2
Отладка контейнеров 101: как выполнять команды хоста внутри уже запущенного контейнера
Хорошие контейнерные образы должны содержать только те пакеты, которые необходимы приложению для работы в продакшене. Но что делать, если такой идеальный минималистичный контейнер начинает вести себя некорректно?
https://labs.iximiuz.com/challenges/docker-container-execute-commands-with-nsenter
👉 DevOps Portal
Хорошие контейнерные образы должны содержать только те пакеты, которые необходимы приложению для работы в продакшене. Но что делать, если такой идеальный минималистичный контейнер начинает вести себя некорректно?
https://labs.iximiuz.com/challenges/docker-container-execute-commands-with-nsenter
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Все знают, что балансировщики нагрузки на eBPF превосходят user-space LB, потому что они избегают копирования пакетов и переключений контекста.
Но вот малоизвестный факт: ты можешь написать собственный eBPF-балансировщик, с выбором бэкенда и session affinity, всего в 200 строках на C.
Теодор снова это доказывает:
https://labs.iximiuz.com/tutorials/xdp-load-balancer-700a1d74
👉 DevOps Portal
Но вот малоизвестный факт: ты можешь написать собственный eBPF-балансировщик, с выбором бэкенда и session affinity, всего в 200 строках на C.
Теодор снова это доказывает:
https://labs.iximiuz.com/tutorials/xdp-load-balancer-700a1d74
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍1
Kubernetes Gateway API постепенно вытесняет кастомные API маршрутизации, используемые в service mesh
В материале разобрано, что такое GAMMA и как он работает
Опубликован подробный практический гайд, в котором ключевые концепции объясняются на наглядных примерах и иллюстрациях.
Что рассматривается в гайде:
- что из себя представляет подход GAMMA
- как он отделяет логику маршрутизации от реализации mesh
- реализация canary-деплоев с использованием GAMMA
- использование HTTPRoute совместно с DestinationRule в Istio
- production-кейс применения подхода GAMMA
Полный гайд:
https://devopscube.com/gateway-api-for-service-mesh/
Несмотря на то, что API
GAMMA предлагает вендорно-независимый подход.
Это означает отсутствие жёсткой привязки к Istio-специфичным API, таким как
Внутренний трафик можно описывать через
👉 DevOps Portal
В материале разобрано, что такое GAMMA и как он работает
Опубликован подробный практический гайд, в котором ключевые концепции объясняются на наглядных примерах и иллюстрациях.
Что рассматривается в гайде:
- что из себя представляет подход GAMMA
- как он отделяет логику маршрутизации от реализации mesh
- реализация canary-деплоев с использованием GAMMA
- использование HTTPRoute совместно с DestinationRule в Istio
- production-кейс применения подхода GAMMA
Полный гайд:
https://devopscube.com/gateway-api-for-service-mesh/
Несмотря на то, что API
VirtualService и DestinationRule в Istio по-прежнему широко используются,GAMMA предлагает вендорно-независимый подход.
Это означает отсутствие жёсткой привязки к Istio-специфичным API, таким как
VirtualService и DestinationRule.Внутренний трафик можно описывать через
HTTPRoute, отделяя маршрутизацию от нижележащего mesh-слоя в Kubernetes.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Kargo — это платформа непрерывной доставки и оркестрации жизненного цикла приложений для Kubernetes.
Она основана на принципах GitOps и интегрируется с Argo CD, чтобы упростить и автоматизировать поэтапный (progressive) rollout изменений на протяжении всего жизненного цикла приложения
https://github.com/akuity/kargo
👉 DevOps Portal
Она основана на принципах GitOps и интегрируется с Argo CD, чтобы упростить и автоматизировать поэтапный (progressive) rollout изменений на протяжении всего жизненного цикла приложения
https://github.com/akuity/kargo
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
Используйте эту команду kubectl, чтобы мгновенно найти pod’ы с утечками ресурсов или чрезмерным потреблением по всему кластеру Kubernetes
👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍13
Аннотации в Kubernetes часто объясняют просто как метаданные
Большинство знают, что аннотации используются такими инструментами, как Prometheus или Ingress-контроллеры.
Но многие не осознают, какая мощь в них скрыта.
Аннотации не имеют фиксированной структуры – Kubernetes их не валидирует и не пытается интерпретировать. И именно поэтому они настолько мощные.
Они работают как механизм расширения Kubernetes.
Каждый контроллер, оператор и внешний инструмент использует аннотации для передачи информации, не меняя core API.
Именно так Kubernetes эволюционирует, не ломая старые конфигурации.
Аннотации не предназначены для селекции или фильтрации – для этого есть labels.
Аннотации существуют для описания поведения и контекста, а не идентичности.
Поэтому они могут быть большими, описательными и разными для каждого инструмента.
Аннотации не бесконечны – у них есть лимит в 256 КБ, с которым многие из вас наверняка сталкивались.
Аннотации не обязаны жить только на Pod’ах.
Одни инструменты читают их из Service, другие – из Namespace, а некоторые даже используют аннотации на Node. Механизм один и тот же, меняется только область применения.
Хороший реальный пример – Argo CD Image Updater.
Вместо того чтобы напрямую менять манифесты, он использует аннотации на Application, чтобы управлять тем, какие образы отслеживать, стратегией обновления и правилами тегов.
Вся логика работы управляется через аннотации.
Никаких новых CRD.
Никаких кастомных конфигов.
Просто метаданные, которые управляют автоматизацией.
Вот разбор этого на практическом примере.
Читайте здесь: https://devopscube.com/setup-argocd-image-updater
Примечание: аннотации – это не конфигурация, это средство коммуникации.
Когда начинаешь смотреть на них именно так, многие архитектурные решения Kubernetes внезапно становятся понятными
👉 DevOps Portal
Большинство знают, что аннотации используются такими инструментами, как Prometheus или Ingress-контроллеры.
Но многие не осознают, какая мощь в них скрыта.
Аннотации не имеют фиксированной структуры – Kubernetes их не валидирует и не пытается интерпретировать. И именно поэтому они настолько мощные.
Они работают как механизм расширения Kubernetes.
Каждый контроллер, оператор и внешний инструмент использует аннотации для передачи информации, не меняя core API.
Именно так Kubernetes эволюционирует, не ломая старые конфигурации.
Аннотации не предназначены для селекции или фильтрации – для этого есть labels.
Аннотации существуют для описания поведения и контекста, а не идентичности.
Поэтому они могут быть большими, описательными и разными для каждого инструмента.
Аннотации не бесконечны – у них есть лимит в 256 КБ, с которым многие из вас наверняка сталкивались.
Аннотации не обязаны жить только на Pod’ах.
Одни инструменты читают их из Service, другие – из Namespace, а некоторые даже используют аннотации на Node. Механизм один и тот же, меняется только область применения.
Хороший реальный пример – Argo CD Image Updater.
Вместо того чтобы напрямую менять манифесты, он использует аннотации на Application, чтобы управлять тем, какие образы отслеживать, стратегией обновления и правилами тегов.
Вся логика работы управляется через аннотации.
Никаких новых CRD.
Никаких кастомных конфигов.
Просто метаданные, которые управляют автоматизацией.
Вот разбор этого на практическом примере.
Читайте здесь: https://devopscube.com/setup-argocd-image-updater
Примечание: аннотации – это не конфигурация, это средство коммуникации.
Когда начинаешь смотреть на них именно так, многие архитектурные решения Kubernetes внезапно становятся понятными
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4🤔1
Этот туториал показывает, как задеплоить полноценный LGTM observability-стек (Loki, Grafana, Tempo, Mimir) с использованием OpenTelemetry в Kubernetes для единого сбора метрик, логов и трейсов
Читайте тут
👉 DevOps Portal
Читайте тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4
Linux-совет для DevOps-инженеров
Как получить публичный IP сервера с помощью команды?
Можно использовать curl и публично доступные сервисы, чтобы получить внешний адрес, как показано на изображении.
Для AWS и GCP всегда используйте соответствующий metadata-сервис, чтобы получать публичный IP.
Примечание: не используйте публично доступные сервисы в реальном проекте или продакшн-коде. Всегда консультируйтесь с вашей командой по безопасности по доступным вариантам
👉 DevOps Portal
Как получить публичный IP сервера с помощью команды?
Можно использовать curl и публично доступные сервисы, чтобы получить внешний адрес, как показано на изображении.
Для AWS и GCP всегда используйте соответствующий metadata-сервис, чтобы получать публичный IP.
Примечание: не используйте публично доступные сервисы в реальном проекте или продакшн-коде. Всегда консультируйтесь с вашей командой по безопасности по доступным вариантам
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал полезную базу по Linux / Unix от Tutorialspoint – простые и понятные объяснения без лишней воды
Там разбирают всё, с чем сталкиваешься в линуксе каждый день:
— как работают процессы и сигналы
— что происходит с памятью
— как устроена файловая система
— как читать и настраивать права доступа
Каждая тема с примерами команд и лаконичными пояснениями
Забирайте тут
👉 DevOps Portal
Там разбирают всё, с чем сталкиваешься в линуксе каждый день:
— как работают процессы и сигналы
— что происходит с памятью
— как устроена файловая система
— как читать и настраивать права доступа
Каждая тема с примерами команд и лаконичными пояснениями
Забирайте тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4
Что на самом деле происходит, когда вы запускаете контейнер самой типичной командой
На первый взгляд кажется, что Nginx становится вашим foreground-процессом в терминале – он перехватывает stdio-потоки и реагирует на сигналы, когда вы нажимаете Ctrl+C или меняете размер окна терминала.
Но в реальности терминалом управляет процесс Docker-клиента, а сам Nginx работает в фоне или вообще на удалённой машине. При этом между docker CLI, dockerd (основным Docker-демоном) и containerd (низкоуровневым container runtime) происходит довольно сложная проксировка данных и сигналов — из-за чего всё ощущается как простой локальный запуск.
Почему это важно? Понимание того, как работает docker run под капотом — ключ к пониманию Kubernetes и других продакшн-рантаймов. В продакшене контейнеризованные приложения обычно работают в фоне, но Kubernetes и похожие системы позволяют стримить логи приложений и даже переподключаться к процессам в контейнерах, используя те же самые трюки, что и Docker.
Подробнее о магии за командой
https://labs.iximiuz.com/tutorials/docker-run-vs-attach-vs-exec
👉 DevOps Portal
docker run nginx? На первый взгляд кажется, что Nginx становится вашим foreground-процессом в терминале – он перехватывает stdio-потоки и реагирует на сигналы, когда вы нажимаете Ctrl+C или меняете размер окна терминала.
Но в реальности терминалом управляет процесс Docker-клиента, а сам Nginx работает в фоне или вообще на удалённой машине. При этом между docker CLI, dockerd (основным Docker-демоном) и containerd (низкоуровневым container runtime) происходит довольно сложная проксировка данных и сигналов — из-за чего всё ощущается как простой локальный запуск.
Почему это важно? Понимание того, как работает docker run под капотом — ключ к пониманию Kubernetes и других продакшн-рантаймов. В продакшене контейнеризованные приложения обычно работают в фоне, но Kubernetes и похожие системы позволяют стримить логи приложений и даже переподключаться к процессам в контейнерах, используя те же самые трюки, что и Docker.
Подробнее о магии за командой
docker run — в подробном разборе (с кучей практических упражнений):https://labs.iximiuz.com/tutorials/docker-run-vs-attach-vs-exec
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5
Forwarded from Мир Linux
Let’s Encrypt начал выдавать TLS-сертификаты для IP-адресов и запустил короткоживущие 6-дневные сертификаты
Теперь можно поднимать HTTPS напрямую на IPv4/IPv6 без доменного имени – удобно для homelab, тестовых стендов, временных сервисов, внутренних бэкендов и начальной настройки серверов. Сертификаты для IP выдаются только в short-lived формате и живут 160 часов (чуть больше 6 дней)
Параллельно стали доступны опциональные 6-дневные сертификаты и для доменов – как дополнительный уровень защиты: при компрометации ключа ущерб ограничен самим сроком жизни сертификата, а не отзывом.
Для получения нужен ACME-клиент с поддержкой профиля shortlived (например, свежий Certbot). Для IP валидация только через http-01 или tls-alpn-01 – dns-01 не поддерживается
@linuxos_tg
Теперь можно поднимать HTTPS напрямую на IPv4/IPv6 без доменного имени – удобно для homelab, тестовых стендов, временных сервисов, внутренних бэкендов и начальной настройки серверов. Сертификаты для IP выдаются только в short-lived формате и живут 160 часов (чуть больше 6 дней)
Параллельно стали доступны опциональные 6-дневные сертификаты и для доменов – как дополнительный уровень защиты: при компрометации ключа ущерб ограничен самим сроком жизни сертификата, а не отзывом.
Для получения нужен ACME-клиент с поддержкой профиля shortlived (например, свежий Certbot). Для IP валидация только через http-01 или tls-alpn-01 – dns-01 не поддерживается
@linuxos_tg
❤19🔥9👍2
Бывали ли у вас ситуации, когда использовать Kubernetes — это уже перебор, но деплоить на пачку VM с самописными скриптами или Ansible-плейбуками тоже не особо хочется?
Docker Swarm может быть жив или мёртв — вопрос спорный, но сама ниша никуда не делась. И такие проекты, как Kamal (от 37signals) и Uncloud (от Паши Свидерского), пытаются её закрыть.
Если вы ещё не слышали про последний, Uncloud — это лёгкий (по сравнению с Kubernetes) инструмент для деплоя и управления контейнеризованными приложениями в сети Docker-хостов.
Антон Овчинников недавно опубликовал пошаговый гайд на iximiuz Labs, в котором показано, как развернуть кластер Uncloud на нескольких VM. Рекомендуем посмотреть:
https://labs.iximiuz.com/tutorials/uncloud-create-cluster-ebebf72b
Традиционно, все команды из туториала можно прогнать прямо в приложенной песочнице✌️
👉 DevOps Portal
Docker Swarm может быть жив или мёртв — вопрос спорный, но сама ниша никуда не делась. И такие проекты, как Kamal (от 37signals) и Uncloud (от Паши Свидерского), пытаются её закрыть.
Если вы ещё не слышали про последний, Uncloud — это лёгкий (по сравнению с Kubernetes) инструмент для деплоя и управления контейнеризованными приложениями в сети Docker-хостов.
Антон Овчинников недавно опубликовал пошаговый гайд на iximiuz Labs, в котором показано, как развернуть кластер Uncloud на нескольких VM. Рекомендуем посмотреть:
https://labs.iximiuz.com/tutorials/uncloud-create-cluster-ebebf72b
Традиционно, все команды из туториала можно прогнать прямо в приложенной песочнице
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux
Вместо
В чём плюс? Когда выходишь из просмотра лога, экран не заливается кучей строк.
Нажмите Ctrl+C, чтобы остановить просмотр в реальном времени и перейти в обычный режим навигации less (скроллинг, поиск и т.д.).
Нажмите
Нажмите
Это даёт возможность гибко переключаться между статическим просмотром и live-мониторингом
👉 DevOps Portal
Вместо
tail смотри лог-файлы в реальном времени с флагом +F:less +F hello.txt
В чём плюс? Когда выходишь из просмотра лога, экран не заливается кучей строк.
Нажмите Ctrl+C, чтобы остановить просмотр в реальном времени и перейти в обычный режим навигации less (скроллинг, поиск и т.д.).
Нажмите
Shift+F, чтобы снова начать следить за файлом в реальном времени.Нажмите
q, чтобы полностью выйти из less.Это даёт возможность гибко переключаться между статическим просмотром и live-мониторингом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал живой интерактивный тренажёр для прокачки практических навыков по DevOps, облачным техам и не только – Killercoda.
Это браузерная платформа с реальными интерактивными средами, где ты можешь запускать:
• Linux/Ubuntu терминал
• Kubernetes‑кластеры (включая контрольную плоскость)
• инструменты типа Docker, bash, Git и др.
• готовые учебные сценарии и playground‑среды прямо в браузере без локальной настройки окружения
Платформа подходит как для новичков (практика базовых команд), так и для прокачки в Kubernetes/DevOps, подготовки к CKA/CKAD/CKS и другим кейсам – можно запускать сценарии, выполнять задачи и экспериментировать с реальными системами
Плюс можно создавать и делиться своими сценариями с сообществом .
Ссылка: killercoda.com
👉 DevOps Portal
Это браузерная платформа с реальными интерактивными средами, где ты можешь запускать:
• Linux/Ubuntu терминал
• Kubernetes‑кластеры (включая контрольную плоскость)
• инструменты типа Docker, bash, Git и др.
• готовые учебные сценарии и playground‑среды прямо в браузере без локальной настройки окружения
Платформа подходит как для новичков (практика базовых команд), так и для прокачки в Kubernetes/DevOps, подготовки к CKA/CKAD/CKS и другим кейсам – можно запускать сценарии, выполнять задачи и экспериментировать с реальными системами
Плюс можно создавать и делиться своими сценариями с сообществом .
Ссылка: killercoda.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5🔥3
Изучаем Kubernetes через практические челленджи
В вашем кластере есть Pod с ошибкой. Он пытается запуститься, но не может пройти инициализацию. Судя по всему, недавно в его спецификацию добавили новый контейнер, и с этого момента Pod перестал нормально работать. Сможете починить?
https://labs.iximiuz.com/challenges/kubernetes-pod-with-faulty-init-sequence
👉 DevOps Portal
В вашем кластере есть Pod с ошибкой. Он пытается запуститься, но не может пройти инициализацию. Судя по всему, недавно в его спецификацию добавили новый контейнер, и с этого момента Pod перестал нормально работать. Сможете починить?
https://labs.iximiuz.com/challenges/kubernetes-pod-with-faulty-init-sequence
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5
NAT-based балансировщики нагрузки (LB) вроде HAProxy или Nginx обычно являются выбором по умолчанию. Но у них есть проблема: все ответы тоже проходят обратно через LB. А если запросы чаще всего короткие, то ответы могут быть в 10–100 раз «тяжелее».
Это означает больший расход пропускной способности на балансировщике и то, что самый большой трафик проходит через компонент, который меньше всего хотелось бы превращать в бутылочное горлышко.
Direct Server Return (DSR) решает эту проблему: запросы идут через LB, а ответы – напрямую, минуя его.
Сборка DSR-балансировщика на базе eBPF – отличный способ реально разобраться и в eBPF, и в том, как DSR работает на уровне L2. Посмотрите свежий практический туториал от Teodor Podobnik, где он шаг за шагом проводит вас через весь процесс:
https://labs.iximiuz.com/tutorials/xdp-dsr-layer2-lb-92b02f3e
👉 DevOps Portal
Это означает больший расход пропускной способности на балансировщике и то, что самый большой трафик проходит через компонент, который меньше всего хотелось бы превращать в бутылочное горлышко.
Direct Server Return (DSR) решает эту проблему: запросы идут через LB, а ответы – напрямую, минуя его.
Сборка DSR-балансировщика на базе eBPF – отличный способ реально разобраться и в eBPF, и в том, как DSR работает на уровне L2. Посмотрите свежий практический туториал от Teodor Podobnik, где он шаг за шагом проводит вас через весь процесс:
https://labs.iximiuz.com/tutorials/xdp-dsr-layer2-lb-92b02f3e
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6
containerd — это контейнерный рантайм по умолчанию в Kubernetes. Однако на практике мы редко взаимодействуем с containerd напрямую и зачастую не до конца понимаем, из каких компонентов состоит система, отвечающая за эффективное управление контейнерами.
Вот курс «Kubernetes the Very Hard Way» на платформе iximiuz Labs, где подробно разбирается, как containerd позволяет Kubernetes управлять тысячами и тысячами контейнеров:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997
👉 DevOps Portal
Вот курс «Kubernetes the Very Hard Way» на платформе iximiuz Labs, где подробно разбирается, как containerd позволяет Kubernetes управлять тысячами и тысячами контейнеров:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1