Архитектура Kubernetes Kubelet – объяснение простыми словами
Эта схема показывает, что на самом деле происходит внутри Kubernetes Node.
Поток:
Ключевая идея:
Kubelet – это reconciliation-движок.
Он постоянно гарантирует:
Desired State = Actual State
Именно за счёт этого Kubernetes обеспечивает self-healing (самовосстановление кластера).
👉 DevOps Portal
Эта схема показывает, что на самом деле происходит внутри Kubernetes Node.
Поток:
1️⃣ API Server
→ Отправляет PodSpec (желаемое состояние)
2️⃣ Главный цикл Kubelet (Kubelet Main Loop)
→ Непрерывно сверяет и приводит в соответствие желаемое и фактическое состояние
3️⃣ Pod Workers (параллельно)
→ Независимо обрабатывают жизненный цикл каждого пода
4️⃣ Слой CRI
→ Kubelet → CRI → Container Runtime (containerd / CRI-O)
5️⃣ Image Manager
→ Пуллит образы и выполняет их garbage collection (очистку/удаление неиспользуемых)
6️⃣ Volume Manager
→ Монтирует / размонтирует тома
7️⃣ PLEG
→ Отслеживает изменения состояния контейнеров
8️⃣ Status Manager
→ Отправляет статус пода обратно в API Server
(IP, Phase, Conditions)
Ключевая идея:
Kubelet – это reconciliation-движок.
Он постоянно гарантирует:
Desired State = Actual State
Именно за счёт этого Kubernetes обеспечивает self-healing (самовосстановление кластера).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1
Если ты регулярно работаешь с Kubernetes, без
Есть всё базовое: переключение контекстов, scaling, rollout’ы, resource limits и типовые кейсы отладки (краш подов, недоступные сервисы). Удобная шпаргалка, когда нужен быстрый ответ прямо в кластере.
https://dev.to/code_cursor/kubernetes-cheat-sheet-essential-kubectl-commands-for-developers-43mn
👉 DevOps Portal
kubectl никуда. В статье – компактный референс по ключевым командам: поды, деплои, сервисы, секреты и дебаг.Есть всё базовое: переключение контекстов, scaling, rollout’ы, resource limits и типовые кейсы отладки (краш подов, недоступные сервисы). Удобная шпаргалка, когда нужен быстрый ответ прямо в кластере.
https://dev.to/code_cursor/kubernetes-cheat-sheet-essential-kubectl-commands-for-developers-43mn
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Terraform Actions – фича, которую нужно знать
Terraform отлично справляется с CRUD-операциями – созданием, чтением, обновлением и удалением инфраструктуры.
Но что насчёт всего, что происходит после того, как инфраструктура уже развернута?
Например, вызов Lambda-функции при необходимости.
До версии v1.14 приходилось использовать обходные решения – provisioner’ы (local-exec или remote-exec) либо внешние скрипты.
С появлением Actions в v1.14 теперь такие операции можно выполнять с помощью нативных action-блоков Terraform, встроенных непосредственно в провайдеры (например, AWS Provider).
В этой статье:
- что такое Terraform Actions и зачем их добавили
- типовые use case’ы и стандартный workflow
- практический пример, чтобы посмотреть, как это работает на практике
Читать здесь: https://newsletter.devopscube.com/p/terraform-actions-explained
Примечание: это новая фича, и поддержка со стороны провайдеров всё ещё постепенно появляется. Например, у AWS сейчас доступно только три actions.
👉 DevOps Portal
Terraform отлично справляется с CRUD-операциями – созданием, чтением, обновлением и удалением инфраструктуры.
Но что насчёт всего, что происходит после того, как инфраструктура уже развернута?
Например, вызов Lambda-функции при необходимости.
До версии v1.14 приходилось использовать обходные решения – provisioner’ы (local-exec или remote-exec) либо внешние скрипты.
С появлением Actions в v1.14 теперь такие операции можно выполнять с помощью нативных action-блоков Terraform, встроенных непосредственно в провайдеры (например, AWS Provider).
В этой статье:
- что такое Terraform Actions и зачем их добавили
- типовые use case’ы и стандартный workflow
- практический пример, чтобы посмотреть, как это работает на практике
Читать здесь: https://newsletter.devopscube.com/p/terraform-actions-explained
Примечание: это новая фича, и поддержка со стороны провайдеров всё ещё постепенно появляется. Например, у AWS сейчас доступно только три actions.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Как защититься от зараженных PDF и документов? 🤓
Если вы сомневаетесь в безопасности файла, обратите внимание на тулзу Dangerzone
Это утилита конвертирует неблагонадежные PDF, документы и изображения в безопасные PDF файлы, посредством пропуска через две песочницы
Dangerzone имеет как Windows версию, так и на Mac и Linux
👉 DevOps Portal
Если вы сомневаетесь в безопасности файла, обратите внимание на тулзу Dangerzone
Это утилита конвертирует неблагонадежные PDF, документы и изображения в безопасные PDF файлы, посредством пропуска через две песочницы
Dangerzone имеет как Windows версию, так и на Mac и Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Совет по Linux
Vim умеет откатывать изменения по времени, а не только по шагам.
Вместо того чтобы жать u много раз, можно использовать:
Это откатит буфер к состоянию, в котором он был 2 минуты назад. Очень удобно после массовых правок.
Нужно вернуть часть изменений? Можно переместиться вперёд по времени:
Эта команда повторно применит правки, сделанные за последние 30 секунд. Можно представить дерево undo в Vim как временную шкалу, по которой можно перемещаться вперёд и назад.
Указывать время необязательно. Если его нет, Vim воспринимает число как количество шагов undo.
Например, чтобы откатить последние 3 изменения:
А затем вернуть одно изменение:
Если хочешь превратить свою сессию Vim в машину времени, включи:
Это сохранит историю undo на диск, и ты сможешь откатывать изменения даже после закрытия и повторного открытия файла.
👉 DevOps Portal
Vim умеет откатывать изменения по времени, а не только по шагам.
Вместо того чтобы жать u много раз, можно использовать:
:earlier 2m
Это откатит буфер к состоянию, в котором он был 2 минуты назад. Очень удобно после массовых правок.
Нужно вернуть часть изменений? Можно переместиться вперёд по времени:
:later 30s
Эта команда повторно применит правки, сделанные за последние 30 секунд. Можно представить дерево undo в Vim как временную шкалу, по которой можно перемещаться вперёд и назад.
Указывать время необязательно. Если его нет, Vim воспринимает число как количество шагов undo.
Например, чтобы откатить последние 3 изменения:
:earlier 3
А затем вернуть одно изменение:
:later 1
Если хочешь превратить свою сессию Vim в машину времени, включи:
:set undofile
Это сохранит историю undo на диск, и ты сможешь откатывать изменения даже после закрытия и повторного открытия файла.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥5🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🤔1
Документация iximiuz Labs продолжает улучшаться – добавили новый раздел о том, как пробрасывать наружу HTTP(S)-приложения, запущенные в playground’ах, а также кучу диаграмм, объясняющих локальный и удалённый port forwarding и доступ к playground’ам по SSH.
Внутри практические примеры!
https://labs.iximiuz.com/docs/playgrounds/expose-http-ports#introduction
👉 DevOps Portal
Внутри практические примеры!
https://labs.iximiuz.com/docs/playgrounds/expose-http-ports#introduction
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Почему важно менять версии Helm Chart?
Когда вы пакуете и публикуете Helm chart, именно версия чарта отслеживается репозиториями.
Не теги образов.
Не версия вашего приложения.
Если вы изменили шаблоны, но не увеличили версию чарта:
- Репозиторий будет считать это тем же самым релизом.
- Ваш CI/CD-пайплайн будет использовать закэшированные артефакты.
- Кластер не обнаружит изменений при выполнении
В итоге всё выглядит так, будто обновилось, но на самом деле ничего не изменилось.
Поле
Поэтому если вы просто обновили тег образа в
Всегда увеличивайте поле version в
Подробный блог:
https://devopscube.com/create-helm-chart/
👉 DevOps Portal
Когда вы пакуете и публикуете Helm chart, именно версия чарта отслеживается репозиториями.
Не теги образов.
Не версия вашего приложения.
Если вы изменили шаблоны, но не увеличили версию чарта:
- Репозиторий будет считать это тем же самым релизом.
- Ваш CI/CD-пайплайн будет использовать закэшированные артефакты.
- Кластер не обнаружит изменений при выполнении
upgrade.В итоге всё выглядит так, будто обновилось, но на самом деле ничего не изменилось.
Поле
appVersion — это всего лишь метаданные о версии вашего приложения. Оно не влияет на упаковку чарта и индексацию в репозитории.Поэтому если вы просто обновили тег образа в
values.yaml и забыли увеличить версию чарта, инструменты, которые на неё опираются, не распознают новый релиз.Всегда увеличивайте поле version в
Chart.yaml, когда меняете любой файл внутри чарта.Подробный блог:
https://devopscube.com/create-helm-chart/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Один из ключевых трюков, лежащих в основе Service Mesh — это прозрачный перехват трафика. Такой прокси, как Envoy, можно разместить на сетевом пути между двумя сервисами, даже не давая им понять, что он вообще существует.
eBPF — одна из тех "магических" технологий, с помощью которых можно реализовать такой прозрачный перехват трафика.
Узнайте, как реализовать перехват исходящего трафика, а заодно прокачать навыки программирования на eBPF, в свежем туториале Теодора Подобника:
https://labs.iximiuz.com/tutorials/ebpf-envoy-egress-dc77ccd7
👉 DevOps Portal
eBPF — одна из тех "магических" технологий, с помощью которых можно реализовать такой прозрачный перехват трафика.
Узнайте, как реализовать перехват исходящего трафика, а заодно прокачать навыки программирования на eBPF, в свежем туториале Теодора Подобника:
https://labs.iximiuz.com/tutorials/ebpf-envoy-egress-dc77ccd7
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Узнайте, как с помощью GPT и Claude построить полноценную мульти-средовую платформу Kubernetes.
От k3s до продакшн-кластеров, с использованием GitHub Actions, Traefik, Helm и PostgreSQL – полностью автоматизированная DevOps-архитектура, собранная с помощью AI.
Читайте тут
👉 DevOps Portal
От k3s до продакшн-кластеров, с использованием GitHub Actions, Traefik, Helm и PostgreSQL – полностью автоматизированная DevOps-архитектура, собранная с помощью AI.
Читайте тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🤯2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Уменьшил Docker-образ с 1.37 GB → 168 MB.
Всего лишь за счёт использования multi-stage сборок, slim-базовых образов и очистки неиспользуемых зависимостей.
Небольшие оптимизации = более быстрый CI/CD и более безопасные контейнеры👍
👉 DevOps Portal
Всего лишь за счёт использования multi-stage сборок, slim-базовых образов и очистки неиспользуемых зависимостей.
Небольшие оптимизации = более быстрый CI/CD и более безопасные контейнеры
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍2🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12❤5👍3
Настройка NVIDIA GPU Operator в Kubernetes
Базовый процесс настройки выглядит так:
- Проставить labels и taints для GPU-нод
- Добавить Helm-репозиторий Nvidia GPU Operator
- Установить Nvidia GPU Operator
- Проверить обнаружение GPU
Подробное руководство:
https://devopscube.com/setup-gpu-operator-kubernetes/
👉 DevOps Portal
Базовый процесс настройки выглядит так:
- Проставить labels и taints для GPU-нод
- Добавить Helm-репозиторий Nvidia GPU Operator
- Установить Nvidia GPU Operator
- Проверить обнаружение GPU
Подробное руководство:
https://devopscube.com/setup-gpu-operator-kubernetes/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Объединение слоёв контейнерного образа в «плоскую» файловую систему с помощью OverlayFS
Тема, о которой я слишком давно хотел рассказать — как контейнерные рантаймы превращают многослойные образы в «плоский» rootfs контейнера.
Разберёмся на практике в новом челлендже iximiuz Labs:
https://labs.iximiuz.com/challenges/union-mount-container-image-layers-using-overlayfs
👉 DevOps Portal
Тема, о которой я слишком давно хотел рассказать — как контейнерные рантаймы превращают многослойные образы в «плоский» rootfs контейнера.
Разберёмся на практике в новом челлендже iximiuz Labs:
https://labs.iximiuz.com/challenges/union-mount-container-image-layers-using-overlayfs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥2
Разбираемся в архитектуре Istio за 12 минут (иллюстрированный гайд)
Если вы хотите лучше понять Istio,
вам необходимо разобраться в его полной архитектуре и в том, как компоненты Istio взаимодействуют друг с другом.
В cтатье подробно разбираем это с помощью наглядных диаграмм и простых объяснений.
Вот что вы узнаете
- Почему Istio понадобилась новая архитектура
- Обзор архитектуры Istio
- Подробный разбор ключевых компонентов: Istiod, Ztunnel, Waypoint Proxy и CNI
- Является ли Ztunnel единой точкой отказа?
- Бизнес-кейсы использования Ambient Mesh, включая преимущества по стоимости
- Практическое руководство по настройке Istio Ambient Mesh
Читать здесь: https://newsletter.devopscube.com/p/istio-ambient-mesh
Примечание: для лучшего понимания сначала разверните Ambient Mesh, а затем изучайте архитектуру. Так вам будет гораздо проще связать все концепции между собой.
👉 DevOps Portal
Если вы хотите лучше понять Istio,
вам необходимо разобраться в его полной архитектуре и в том, как компоненты Istio взаимодействуют друг с другом.
В cтатье подробно разбираем это с помощью наглядных диаграмм и простых объяснений.
Вот что вы узнаете
- Почему Istio понадобилась новая архитектура
- Обзор архитектуры Istio
- Подробный разбор ключевых компонентов: Istiod, Ztunnel, Waypoint Proxy и CNI
- Является ли Ztunnel единой точкой отказа?
- Бизнес-кейсы использования Ambient Mesh, включая преимущества по стоимости
- Практическое руководство по настройке Istio Ambient Mesh
Читать здесь: https://newsletter.devopscube.com/p/istio-ambient-mesh
Примечание: для лучшего понимания сначала разверните Ambient Mesh, а затем изучайте архитектуру. Так вам будет гораздо проще связать все концепции между собой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2