KubeDiagrams — это инструмент, который автоматически генерирует визуальные архитектурные диаграммы из Kubernetes-манифестов, Helm-чартов и живых кластеров.
Он поддерживает более 47 типов ресурсов, настраиваемую группировку по namespace и labels, а также умеет работать с кастомными ресурсами.
Забираем с GitHub
👉 DevOps Portal
Он поддерживает более 47 типов ресурсов, настраиваемую группировку по namespace и labels, а также умеет работать с кастомными ресурсами.
Забираем с GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥9
Основы Kubernetes API: Resources, Kinds и Objects 🧐
Прежде чем переходить к написанию автоматизации на базе Kubernetes, полезно разобраться в структуре Kubernetes API и ключевых концепциях, исследуя их из командной строки с помощью
Подробный разбор: https://iximiuz.com/en/posts/kubernetes-api-structure-and-terminology/
👉 DevOps Portal
Прежде чем переходить к написанию автоматизации на базе Kubernetes, полезно разобраться в структуре Kubernetes API и ключевых концепциях, исследуя их из командной строки с помощью
curl
Подробный разбор: https://iximiuz.com/en/posts/kubernetes-api-structure-and-terminology/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Запутались, как связаны runAsNonRoot, capabilities, seccomp и AppArmor в Kubernetes?
В этой статье наглядно показано, как именно каждое поле
Вам наконец-то станет понятно, что именно вы настраиваете: https://learnkube.com/security-contexts
👉 DevOps Portal
В этой статье наглядно показано, как именно каждое поле
SecurityContext
маппится на Linux syscalls и ядро.Вам наконец-то станет понятно, что именно вы настраиваете: https://learnkube.com/security-contexts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5
Kubechecks позволяет пользователям GitHub и GitLab точно видеть, какие изменения повлияют на их текущие деплойменты в ArgoCD, и автоматически запускать различные наборы тестов на соответствие перед мёрджем.
Забираем на GitHub
👉 DevOps Portal
Забираем на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Эта одна статья даст вам отличное понимание многих DevOps-концепций.
Рекомендую прочитать материал по архитектуре Nginx:
https://aosabook.org/en/v2/nginx.html
👉 DevOps Portal
Рекомендую прочитать материал по архитектуре Nginx:
https://aosabook.org/en/v2/nginx.html
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
Docker Run vs. Attach vs. Exec
Разберём, как эти ключевые команды Docker работают "под капотом", в свежей статье:
https://labs.iximiuz.com/tutorials/docker-run-vs-attach-vs-exec
Зачем это нужно: базовое понимание того, как всё устроено, позволяет переносить знания в новые домены и прокачивать хардскилы
👉 DevOps Portal
Разберём, как эти ключевые команды Docker работают "под капотом", в свежей статье:
https://labs.iximiuz.com/tutorials/docker-run-vs-attach-vs-exec
Зачем это нужно: базовое понимание того, как всё устроено, позволяет переносить знания в новые домены и прокачивать хардскилы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
В этой статье рассматривается сеть Kubernetes с акцентом на Services, kube-proxy и балансировку нагрузки.
Разбирается, как поды общаются внутри кластера, как Services маршрутизируют трафик и как организуется внешний доступ.
➜ https://learnkube.com/kubernetes-services-and-load-balancing
👉 DevOps Portal
Разбирается, как поды общаются внутри кластера, как Services маршрутизируют трафик и как организуется внешний доступ.
➜ https://learnkube.com/kubernetes-services-and-load-balancing
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤7🔥3
Podman — «альтернативный» контейнерный рантайм, который на первый взгляд напоминает Docker своими командами «
Начните работу с Podman на https://labs.iximiuz.com/challenges/start-container-with-podman
👉 DevOps Portal
podman pull
», «podman run
», «podman exec
» и т. д. Однако под капотом он использует несколько иную бездемонную архитектуруНачните работу с Podman на https://labs.iximiuz.com/challenges/start-container-with-podman
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍8🔥3
Совет дня по Linux
Используйте опцию
Таким образом, 'his' будет найдено только как 'his', а не как 'this' или 'history'.
👉 DevOps Portal
Используйте опцию
-w
в grep
, чтобы искать целое слово:$ grep -w string file_name
Таким образом, 'his' будет найдено только как 'his', а не как 'this' или 'history'.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤7🔥3🥱1
Плагин helm diff прогнозирует, какие изменения внесёт Helm upgrade или rollback, сравнивая текущее состояние кластера с предлагаемыми манифестами
Подробнее: https://github.com/databus23/helm-diff
👉 DevOps Portal
Подробнее: https://github.com/databus23/helm-diff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2😁2
Kubernetes 1.34 вышел!
Если хочешь заценить новые фичи, вот обновленный playground Kubernetes the Hard Way:
https://labs.iximiuz.com/playgrounds/kubernetes-the-hard-way-7df4f945
👉 DevOps Portal
Если хочешь заценить новые фичи, вот обновленный playground Kubernetes the Hard Way:
https://labs.iximiuz.com/playgrounds/kubernetes-the-hard-way-7df4f945
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5
Быстрый совет по Kubernetes: Доступ к терминалу пода
Используйте команду
👉 DevOps Portal
Используйте команду
exec
, чтобы открыть шелл в запущенном контейнере внутри пода.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤7👎1
С выходом Kubernetes 1.34 Mutating Admission Policy перешла в бета-стадию.
В честь этого принес подробный туториал про admission control в Kubernetes: тык
Загляните, если интересует глубокий разбор admission control в Kubernetes
👉 DevOps Portal
В честь этого принес подробный туториал про admission control в Kubernetes: тык
Загляните, если интересует глубокий разбор admission control в Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
KubeHatch — это web-UI и CLI-инструмент, который позволяет поднимать виртуальные Kubernetes-кластеры (vCluster) по запросу внутри реального Kubernetes-кластера.
Забираем на GitHub
👉 DevOps Portal
Забираем на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Forwarded from Golang Portal
Вертикальное масштабирование пода без перезапуска стало возможным начиная с Kubernetes v1.33.
Обычно, если вы хотели выдать приложению (Pod в Kubernetes) больше памяти или CPU, его приходилось перезапускать.
Это ок, если приложение спокойно относится к перезапускам, но есть такие, которым остановки/старты противопоказаны: базы данных, тяжёлые batch-задачи или штуки, которым нужна ровная непрерывная работа.
Бета
Новая фича «in-place Pod resize» позволяет менять объём памяти и CPU у Pod, пока он продолжает работать. Начиная с версии 1.33 она считается достаточно зрелой для обычного использования и включена по умолчанию. До этого нужно было включать фича-гейт InPlacePodVerticalScaling.
Как
Вместо обычного
Это похоже на то, как устроены другие возможности Kubernetes. Например:
🔹
🔹
Аналогично,
Важно: это применяется к отдельным Pod. Если запустить
Увеличивать CPU просто, увеличение памяти обычно проходит, если на узле есть свободная ёмкость. Уменьшать CPU тоже легко, а вот уменьшение памяти — самый сложный кейс и может провалиться, быть отложено или потребовать перезапуск в зависимости от политики. Чтобы понимать, как идёт процесс, следите за полями
Политика ресайза
Каждый контейнер в спецификации Pod может задать
🔹 NotRequired: Kubernetes попытается изменить значения ресурсов на месте, пока контейнер работает. Это значение по умолчанию. Это best-effort: если рантайм не может безопасно применить изменение (особенно при уменьшении памяти), операция завершится ошибкой вместо принудительного перезапуска.
🔹 RestartContainer: чтобы применить новые настройки ресурсов, Kubernetes обязан перезапустить контейнер. Полезно для приложений, которые читают лимиты ресурсов только при старте, например некоторые JVM-нагрузки.
Пример:
Источник
👉 @GolangPortal
Обычно, если вы хотели выдать приложению (Pod в Kubernetes) больше памяти или CPU, его приходилось перезапускать.
Это ок, если приложение спокойно относится к перезапускам, но есть такие, которым остановки/старты противопоказаны: базы данных, тяжёлые batch-задачи или штуки, которым нужна ровная непрерывная работа.
Бета
Новая фича «in-place Pod resize» позволяет менять объём памяти и CPU у Pod, пока он продолжает работать. Начиная с версии 1.33 она считается достаточно зрелой для обычного использования и включена по умолчанию. До этого нужно было включать фича-гейт InPlacePodVerticalScaling.
Как
Вместо обычного
kubectl edit
по Pod используется специальный подресурс /resize
. Например, можно сделать patch так:kubectl patch pod mypod --subresource=resize ....
Это похоже на то, как устроены другие возможности Kubernetes. Например:
/status
— подресурс, которым можно обновлять только поле status объекта, не трогая его spec./scale
— подресурс у Deployment или StatefulSet, позволяющий менять количество реплик без редактирования всего манифеста.Аналогично,
/resize
— подресурс у Pod, который позволяет менять ресурсы на месте.Важно: это применяется к отдельным Pod. Если запустить
kubectl set resources
на Deployment, StatefulSet или Job, это всё равно поменяет шаблон и породит новые Pod, а не сделает in-place изменение.Увеличивать CPU просто, увеличение памяти обычно проходит, если на узле есть свободная ёмкость. Уменьшать CPU тоже легко, а вот уменьшение памяти — самый сложный кейс и может провалиться, быть отложено или потребовать перезапуск в зависимости от политики. Чтобы понимать, как идёт процесс, следите за полями
status
и conditions
у Pod.Политика ресайза
Каждый контейнер в спецификации Pod может задать
resizePolicy
. Внутри этого поля CPU и память перечисляются отдельно, и для каждого выбирается политика перезапуска. Доступны два значения:Пример:
resizePolicy:
- resourceName: cpu
restartPolicy: NotRequired
- resourceName: memory
restartPolicy: RestartContainer
Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2
Логирование в Kubernetes с помощью EFK
Как это работает:
- Поды генерируют логи →
- Container runtime перехватывает логи → складывает их в
- Fluent Bit собирает, обрабатывает и эффективно форвардит логи
- Elasticsearch хранит и индексирует логи для поиска почти в реальном времени
- Kibana позволяет визуализировать, исследовать и строить дашборды
👉 DevOps Portal
kubectl logs
подходит для маленьких сетапов, но сотни подов на множестве нод? Полный хаос. Здесь и выручает стек EFK (Elasticsearch + Fluent Bit/Fluentd + Kibana).Как это работает:
- Поды генерируют логи →
stdout/stderr
- Container runtime перехватывает логи → складывает их в
/var/log/containers/
- Fluent Bit собирает, обрабатывает и эффективно форвардит логи
- Elasticsearch хранит и индексирует логи для поиска почти в реальном времени
- Kibana позволяет визуализировать, исследовать и строить дашборды
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍6👎1
Что такое Service Discovery и как его реализует Kubernetes? 🧐
Понимание того, что такое SD, — ключ к тому, чтобы разобраться в разных типах сервисов Kubernetes. Узнайте про server-side vs client-side service discovery и гибридный подход Kubernetes здесь:
https://iximiuz.com/en/posts/service-discovery-in-kubernetes/
👉 DevOps Portal
Понимание того, что такое SD, — ключ к тому, чтобы разобраться в разных типах сервисов Kubernetes. Узнайте про server-side vs client-side service discovery и гибридный подход Kubernetes здесь:
https://iximiuz.com/en/posts/service-discovery-in-kubernetes/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
👾 Освойте полный цикл управления уязвимостями с экспертами кибербезопасности за 4 недели
Количество уязвимостей в ИТ-системах растет, но хаотичное их устранение тормозит бизнес и создает напряжение между ИТ и ИБ. Пора выстроить систему.
🚀 Практикум «Управление уязвимостями: от теории к практике» стартует 8 сентября, она станет вашим ключом к организованной и эффективной стратегии управления уязвимостями.
Программу разработали Павел Попов и Михаил Козлов — профессионалы кибербезопасности с глубоким многолетним практическим опытом в области управления уязвимостями. Практикум можно проходить не только индивидуально, но и командой!
👉 Больше подробностей — на странице практикума.
Количество уязвимостей в ИТ-системах растет, но хаотичное их устранение тормозит бизнес и создает напряжение между ИТ и ИБ. Пора выстроить систему.
🚀 Практикум «Управление уязвимостями: от теории к практике» стартует 8 сентября, она станет вашим ключом к организованной и эффективной стратегии управления уязвимостями.
Чему вы научитесь:
• Строить систему управления уязвимостями.
• Проводить инвентаризацию активов и оценивать риски.
• Настраивать MaxPatrol VM: сканеры, теги, фильтры, автоматизация.
• Приоритизировать и устранять уязвимости системно.
• Анализировать отчеты и выделять критические уязвимости.
• Обеспечивать слаженную работу ИТ и ИБ.
Программу разработали Павел Попов и Михаил Козлов — профессионалы кибербезопасности с глубоким многолетним практическим опытом в области управления уязвимостями. Практикум можно проходить не только индивидуально, но и командой!
👉 Больше подробностей — на странице практикума.
Kubeconform — это инструмент для валидации манифестов Kubernetes
Аналогичен Kubeval, но с рядом улучшений:
🔹 Высокая производительность.
🔹 Поддержка схем как из удалённых, так и из локальных источников.
🔹 Актуальные схемы для всех последних версий Kubernetes.
Подробнее: https://github.com/yannh/kubeconform
👉 DevOps Portal
Аналогичен Kubeval, но с рядом улучшений:
Подробнее: https://github.com/yannh/kubeconform
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2