DevOps Portal | Linux – Telegram
DevOps Portal | Linux
13.5K subscribers
803 photos
94 videos
10 files
810 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
Встречайте новый формат инженерного диалога

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
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
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
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
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 VirtualService и DestinationRule в Istio по-прежнему широко используются,
GAMMA предлагает вендорно-независимый подход.

Это означает отсутствие жёсткой привязки к Istio-специфичным API, таким как VirtualService и DestinationRule.

Внутренний трафик можно описывать через HTTPRoute, отделяя маршрутизацию от нижележащего mesh-слоя в Kubernetes.

👉 DevOps Portal
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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84🤔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
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
Что на самом деле происходит, когда вы запускаете контейнер самой типичной командой 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

👉 DevOps Portal
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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
11🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux

Вместо tail смотри лог-файлы в реальном времени с флагом +F:

less +F hello.txt


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

Нажмите Ctrl+C, чтобы остановить просмотр в реальном времени и перейти в обычный режим навигации less (скроллинг, поиск и т.д.).

Нажмите Shift+F, чтобы снова начать следить за файлом в реальном времени.

Нажмите q, чтобы полностью выйти из less.

Это даёт возможность гибко переключаться между статическим просмотром и live-мониторингом

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥155
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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126
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
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1