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

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3P8kFH
Download Telegram
Freelens — это кроссплатформенный GUI для управления Kubernetes-кластерами.

В комплекте уже идут kubectl и Helm, есть поддержка kubeconfig, работает на macOS, Linux и Windows.

https://github.com/freelensapp/freelens

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥176👍6🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Знаешь про этот Gmail-хак, которому уже больше 20 лет!?

Фича под названием «Плюс адресация» в Gmail (и другие поддерживающие почтовые сервисы) помогает отслеживать, кто раздаёт твой email.
Когда регаешься в сервисах, просто добавь знак «+» и название компании перед @gmail.com.

Например, при регистрации на cайте Facebook, вместо реального адреса я указываю email вида staceylumps123+facebook@gmail.com

Письма всё равно будут приходить в твой inbox, но по конкретному адресу будет видно, кому ты его давал

Если на этот кастомный адрес начнёт сыпаться спам — сразу понятно, какая компания слила или продала твой email 🧠

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥368👀2
Шпаргалка по SSH-туннелям

- Local port forwarding: пробрасываем доступ к приватным эндпоинтам (при необходимости через бастион), как будто порты открыты у тебя локально.

- Remote port forwarding: выставляем наружу локальные порты или приватные адреса сети через exit-ноду.

И всё это, на старом добром SSH

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

Забираем на GitHub

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

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

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

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍5
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
7👍2🔥1
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
7👍3
В этой статье рассматривается сеть 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
👍118🔥4
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
11👍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
👍239🔥4🥱1
Плагин helm diff прогнозирует, какие изменения внесёт Helm upgrade или rollback, сравнивая текущее состояние кластера с предлагаемыми манифестами

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

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53😁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
👍107👎1🥱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
4🔥4👍1🏆1
KubeHatch — это web-UI и CLI-инструмент, который позволяет поднимать виртуальные Kubernetes-кластеры (vCluster) по запросу внутри реального Kubernetes-кластера.

Забираем на GitHub

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

Как

Вместо обычного 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
10👍2