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

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
Аннотации в 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