Freelens — это кроссплатформенный GUI для управления Kubernetes-кластерами.
В комплекте уже идут kubectl и Helm, есть поддержка kubeconfig, работает на macOS, Linux и Windows.
➤ https://github.com/freelensapp/freelens
👉 DevOps Portal
В комплекте уже идут kubectl и Helm, есть поддержка kubeconfig, работает на macOS, Linux и Windows.
➤ https://github.com/freelensapp/freelens
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤6👍6🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Знаешь про этот Gmail-хак, которому уже больше 20 лет!?
Фича под названием «Плюс адресация» в Gmail (и другие поддерживающие почтовые сервисы) помогает отслеживать, кто раздаёт твой email.
Когда регаешься в сервисах, просто добавь знак «
Например, при регистрации на cайте Facebook, вместо реального адреса я указываю email вида
Письма всё равно будут приходить в твой inbox, но по конкретному адресу будет видно, кому ты его давал
Если на этот кастомный адрес начнёт сыпаться спам — сразу понятно, какая компания слила или продала твой email🧠
👉 DevOps Portal
Фича под названием «Плюс адресация» в Gmail (и другие поддерживающие почтовые сервисы) помогает отслеживать, кто раздаёт твой email.
Когда регаешься в сервисах, просто добавь знак «
+» и название компании перед @gmail.com.Например, при регистрации на cайте Facebook, вместо реального адреса я указываю email вида
staceylumps123+facebook@gmail.comПисьма всё равно будут приходить в твой inbox, но по конкретному адресу будет видно, кому ты его давал
Если на этот кастомный адрес начнёт сыпаться спам — сразу понятно, какая компания слила или продала твой email
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤8👀2
Шпаргалка по SSH-туннелям
- Local port forwarding: пробрасываем доступ к приватным эндпоинтам (при необходимости через бастион), как будто порты открыты у тебя локально.
- Remote port forwarding: выставляем наружу локальные порты или приватные адреса сети через exit-ноду.
И всё это, на старом добром SSH✋
👉 DevOps Portal
- Local port forwarding: пробрасываем доступ к приватным эндпоинтам (при необходимости через бастион), как будто порты открыты у тебя локально.
- Remote port forwarding: выставляем наружу локальные порты или приватные адреса сети через exit-ноду.
И всё это, на старом добром SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13💊9👍5
Container runtime, OCI runtime, runtime handler, RuntimeClass
Что именно означают все эти термины и как они связаны между собой?
Погрузись в этот туториал, чтобы разобраться в хитросплетениях рантаймов:
https://labs.iximiuz.com/tutorials/kubernetes-runtime-class-61506808
👉 DevOps Portal
Что именно означают все эти термины и как они связаны между собой?
Погрузись в этот туториал, чтобы разобраться в хитросплетениях рантаймов:
https://labs.iximiuz.com/tutorials/kubernetes-runtime-class-61506808
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4
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
👍7❤5
Запутались, как связаны 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
👍8❤5
Kubechecks позволяет пользователям GitHub и GitLab точно видеть, какие изменения повлияют на их текущие деплойменты в ArgoCD, и автоматически запускать различные наборы тестов на соответствие перед мёрджем.
Забираем на GitHub
👉 DevOps Portal
Забираем на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥1
Эта одна статья даст вам отличное понимание многих 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
❤11👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥1
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
❤7👍3
В этой статье рассматривается сеть 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
👍11❤8🔥4
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
❤11👍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
👍23❤9🔥4🥱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❤3😁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
👍10❤7👎1🥱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
❤4🔥4👍1🏆1
KubeHatch — это web-UI и CLI-инструмент, который позволяет поднимать виртуальные Kubernetes-кластеры (vCluster) по запросу внутри реального Kubernetes-кластера.
Забираем на GitHub
👉 DevOps Portal
Забираем на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍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
❤10👍2