DevOps Portal | Linux
12.7K subscribers
631 photos
67 videos
10 files
612 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

№ 6021351332
Download Telegram
KubeDiagrams — это инструмент, который автоматически генерирует визуальные архитектурные диаграммы из Kubernetes-манифестов, Helm-чартов и живых кластеров.

Он поддерживает более 47 типов ресурсов, настраиваемую группировку по namespace и labels, а также умеет работать с кастомными ресурсами.

Забираем с GitHub

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥9
Основы Kubernetes API: Resources, Kinds и Objects 🧐

Прежде чем переходить к написанию автоматизации на базе Kubernetes, полезно разобраться в структуре Kubernetes API и ключевых концепциях, исследуя их из командной строки с помощью curl

Подробный разбор: https://iximiuz.com/en/posts/kubernetes-api-structure-and-terminology/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
Запутались, как связаны runAsNonRoot, capabilities, seccomp и AppArmor в Kubernetes?

В этой статье наглядно показано, как именно каждое поле SecurityContext маппится на Linux syscalls и ядро.

Вам наконец-то станет понятно, что именно вы настраиваете: https://learnkube.com/security-contexts

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
Kubechecks позволяет пользователям GitHub и GitLab точно видеть, какие изменения повлияют на их текущие деплойменты в ArgoCD, и автоматически запускать различные наборы тестов на соответствие перед мёрджем.

Забираем на GitHub

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
Эта одна статья даст вам отличное понимание многих DevOps-концепций.

Рекомендую прочитать материал по архитектуре Nginx:

https://aosabook.org/en/v2/nginx.html

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Как работает API Kubernetes? RBAC, Admission Controllers, валидация схемы и т. д.

👉 DevOps Portal
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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥3
Podman — «альтернативный» контейнерный рантайм, который на первый взгляд напоминает Docker своими командами «podman pull», «podman run», «podman exec» и т. д. Однако под капотом он использует несколько иную бездемонную архитектуру

Начните работу с Podman на https://labs.iximiuz.com/challenges/start-container-with-podman

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍8🔥3
Совет дня по Linux

Используйте опцию -w в grep, чтобы искать целое слово:

$ grep -w string file_name


Таким образом, 'his' будет найдено только как 'his', а не как 'this' или 'history'.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍157🔥3🥱1
Плагин helm diff прогнозирует, какие изменения внесёт Helm upgrade или rollback, сравнивая текущее состояние кластера с предлагаемыми манифестами

Подробнее: https://github.com/databus23/helm-diff

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52😁2
Kubernetes 1.34 вышел!

Если хочешь заценить новые фичи, вот обновленный playground Kubernetes the Hard Way:
https://labs.iximiuz.com/playgrounds/kubernetes-the-hard-way-7df4f945

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5
Быстрый совет по Kubernetes: Доступ к терминалу пода

Используйте команду exec, чтобы открыть шелл в запущенном контейнере внутри пода.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87👎1
С выходом Kubernetes 1.34 Mutating Admission Policy перешла в бета-стадию.

В честь этого принес подробный туториал про admission control в Kubernetes: тык

Загляните, если интересует глубокий разбор admission control в Kubernetes

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🔥1
KubeHatch — это web-UI и CLI-инструмент, который позволяет поднимать виртуальные Kubernetes-кластеры (vCluster) по запросу внутри реального Kubernetes-кластера.

Забираем на GitHub

👉 DevOps Portal
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.

Как

Вместо обычного 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 и память перечисляются отдельно, и для каждого выбирается политика перезапуска. Доступны два значения:

🔹NotRequired: Kubernetes попытается изменить значения ресурсов на месте, пока контейнер работает. Это значение по умолчанию. Это best-effort: если рантайм не может безопасно применить изменение (особенно при уменьшении памяти), операция завершится ошибкой вместо принудительного перезапуска.

🔹RestartContainer: чтобы применить новые настройки ресурсов, Kubernetes обязан перезапустить контейнер. Полезно для приложений, которые читают лимиты ресурсов только при старте, например некоторые JVM-нагрузки.

Пример:
resizePolicy:
- resourceName: cpu
restartPolicy: NotRequired
- resourceName: memory
restartPolicy: RestartContainer


Источник

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2
Логирование в Kubernetes с помощью EFK

kubectl logs подходит для маленьких сетапов, но сотни подов на множестве нод? Полный хаос. Здесь и выручает стек EFK (Elasticsearch + Fluent Bit/Fluentd + Kibana).

Как это работает:

- Поды генерируют логи → stdout/stderr
- Container runtime перехватывает логи → складывает их в /var/log/containers/
- Fluent Bit собирает, обрабатывает и эффективно форвардит логи
- Elasticsearch хранит и индексирует логи для поиска почти в реальном времени
- Kibana позволяет визуализировать, исследовать и строить дашборды

👉 DevOps Portal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
👾 Освойте полный цикл управления уязвимостями с экспертами кибербезопасности за 4 недели

Количество уязвимостей в ИТ-системах растет, но хаотичное их устранение тормозит бизнес и создает напряжение между ИТ и ИБ. Пора выстроить систему.

🚀 Практикум «Управление уязвимостями: от теории к практике» стартует 8 сентября, она станет вашим ключом к организованной и эффективной стратегии управления уязвимостями.

Чему вы научитесь:

• Строить систему управления уязвимостями.

• Проводить инвентаризацию активов и оценивать риски.

• Настраивать MaxPatrol VM: сканеры, теги, фильтры, автоматизация.

• Приоритизировать и устранять уязвимости системно.

• Анализировать отчеты и выделять критические уязвимости.

• Обеспечивать слаженную работу ИТ и ИБ.


Программу разработали Павел Попов и Михаил Козлов — профессионалы кибербезопасности с глубоким многолетним практическим опытом в области управления уязвимостями. Практикум можно проходить не только индивидуально, но и командой!

👉 Больше подробностей — на странице практикума.
Kubeconform — это инструмент для валидации манифестов Kubernetes

Аналогичен Kubeval, но с рядом улучшений:

🔹Высокая производительность.

🔹Поддержка схем как из удалённых, так и из локальных источников.

🔹Актуальные схемы для всех последних версий Kubernetes.

Подробнее: https://github.com/yannh/kubeconform

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2