This media is not supported in your browser
VIEW IN TELEGRAM
Освойте деплойменты в Kubernetes
Нашел практическое задание, которое поможет разобраться, как работают Deployment'ы — от их создания до масштабирования, обновления образов, проверки состояния Pod'ов и отката изменений.
Отлично подходит для практики реальных операций, стоящих за
Попробуйте здесь
👉 DevOps Portal
Нашел практическое задание, которое поможет разобраться, как работают Deployment'ы — от их создания до масштабирования, обновления образов, проверки состояния Pod'ов и отката изменений.
Отлично подходит для практики реальных операций, стоящих за
kubectl apply/create и kubectl rollout.Попробуйте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤2
Kubernetes 1.33 (кодовое имя Octarine) был выпущен чуть более двух недель назад
В релиз вошли 64 улучшения (!!), поэтому полезно иметь краткий и наглядный обзор.
Визуальный разбор Kubernetes 1.33:
https://dev.to/aurelievache/understanding-kubernetes-part-55-kubernetes-133-changelog-1k5l
Подробности о релизе доступны в официальных примечаниях к релизу Kubernetes 1.33 и релиз-нотах GKE 1.33.
👉 DevOps Portal
В релиз вошли 64 улучшения (!!), поэтому полезно иметь краткий и наглядный обзор.
Визуальный разбор Kubernetes 1.33:
https://dev.to/aurelievache/understanding-kubernetes-part-55-kubernetes-133-changelog-1k5l
Подробности о релизе доступны в официальных примечаниях к релизу Kubernetes 1.33 и релиз-нотах GKE 1.33.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Паттерны проброса портов в Kubernetes
Вы находитесь внутри dev-кластера, доступ к сети ограничен, и только что задеплоенный сервис ведёт себя некорректно.
Нет ни LoadBalancer'а, ни ingress-контроллера, а открыть порт — не вариант, потому что сетевая команда либо медлит, либо отказывает.
В этом случае вас выручает
Здесь представлена упрощённая схема для наглядного понимания.
👉 DevOps Portal
Вы находитесь внутри dev-кластера, доступ к сети ограничен, и только что задеплоенный сервис ведёт себя некорректно.
Нет ни LoadBalancer'а, ни ingress-контроллера, а открыть порт — не вариант, потому что сетевая команда либо медлит, либо отказывает.
В этом случае вас выручает
kubectl port-forward.Здесь представлена упрощённая схема для наглядного понимания.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🥱2
Совет дня по Linux
Большинство людей используют
Но в многих случаях его также можно использовать, чтобы избежать ошибок
👉 DevOps Portal
Большинство людей используют
echo для вывода информацииНо в многих случаях его также можно использовать, чтобы избежать ошибок
echo позволяет развернуть подстановочные знаки и понять, что произойдёт, ещё до выполнения команды.Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥13❤5
Почему
Несмотря на то, что эта команда используется почти в каждом Dockerfile, включая некоторые «рекомендованные» Dockerfile, сгенерированные такими инструментами, как
Я нашел практическое задание, иллюстрирующее эту проблему:
https://labs.iximiuz.com/challenges/graceful-termination-for-nodejs-container
Попробуйте его пройти, если хотите быстро научиться распознавать или избегать эту скрытую проблему в продакшене
👉 DevOps Portal
["npm", "start"] — плохой выбор для инструкции CMD в Dockerfile 👇Несмотря на то, что эта команда используется почти в каждом Dockerfile, включая некоторые «рекомендованные» Dockerfile, сгенерированные такими инструментами, как
create-react-app, использование ["npm", "start"] в CMD приводит к появлению лишней оболочки в дереве процессов контейнера. Это, в частности, может вызывать проблемы с распространением сигналов (signal propagation), что, в свою очередь, нарушает корректное завершение работы контейнеризированного приложения.Я нашел практическое задание, иллюстрирующее эту проблему:
https://labs.iximiuz.com/challenges/graceful-termination-for-nodejs-container
Попробуйте его пройти, если хотите быстро научиться распознавать или избегать эту скрытую проблему в продакшене
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5🤯2
Удалённый доступ к Docker-демону с другой машины
Иногда может потребоваться выполнять команды Docker с отдельной машины, на которой установлен только Docker CLI, но не полный движок Docker. Например, Docker работает на вашем домашнем сервере, а вы хотите управлять им с ноутбука или рабочей машины разработчика.
Чтобы это стало возможным, вы можете открыть Docker-демон по протоколу TCP, обновив файл
👉 DevOps Portal
Иногда может потребоваться выполнять команды Docker с отдельной машины, на которой установлен только Docker CLI, но не полный движок Docker. Например, Docker работает на вашем домашнем сервере, а вы хотите управлять им с ноутбука или рабочей машины разработчика.
Чтобы это стало возможным, вы можете открыть Docker-демон по протоколу TCP, обновив файл
daemon.json на сервереPlease open Telegram to view this post
VIEW IN TELEGRAM
👍16❤5
Совет по Linux для DevOps-инженеров
Как получить публичный IP-адрес сервера с помощью команды?
Вы можете использовать
Для AWS и GCP всегда используйте соответствующий сервис метаданных для получения публичного IP-адреса.
Примечание: пожалуйста, не используйте общедоступные сервисы в реальных проектах или в продуктивной среде. Всегда консультируйтесь с командой по информационной безопасности по поводу возможных вариантов.
👉 DevOps Portal
Как получить публичный IP-адрес сервера с помощью команды?
Вы можете использовать
curl и общедоступные сервисы для получения публичного IP-адреса, как показано на изображении.Для AWS и GCP всегда используйте соответствующий сервис метаданных для получения публичного IP-адреса.
Примечание: пожалуйста, не используйте общедоступные сервисы в реальных проектах или в продуктивной среде. Всегда консультируйтесь с командой по информационной безопасности по поводу возможных вариантов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤6
Media is too big
VIEW IN TELEGRAM
Объяснение Сетевого Взаимодействия в Kubernetes (eng)
Узнайте, как работает сетевая модель Kubernetes (K8s) с использованием Pod'ов, CNI-плагинов и Service'ов. Изучите взаимодействие между Pod'ами, IP-адресацию и сетевые политики. А также создайте свой первый Pod с нуля.
Смотреть на YouTube
👉 DevOps Portal
Узнайте, как работает сетевая модель Kubernetes (K8s) с использованием Pod'ов, CNI-плагинов и Service'ов. Изучите взаимодействие между Pod'ами, IP-адресацию и сетевые политики. А также создайте свой первый Pod с нуля.
Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4
Многие считают, что балансировщики нагрузки нужны лишь для распределения сетевого трафика.
Однако в современных облачных архитектурах существует множество сценариев использования, которые доказывают, что их возможности гораздо шире.
Вот несколько примеров
👉 DevOps Portal
Однако в современных облачных архитектурах существует множество сценариев использования, которые доказывают, что их возможности гораздо шире.
Вот несколько примеров
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍8
Большинство пользователей Linux знакомы с командой
Эта функция может быть особенно полезна для системных администраторов и разработчиков, которым необходимо поддерживать несколько версий конфигурационных файлов или исходного кода.
Понимание версионности в
Команда
1.
2.
Простое резервное копирование
Чтобы создать простую резервную копию:
Эта команда создаёт резервную копию с суффиксом по умолчанию (
Резервная копия с пользовательским суффиксом
Для более наглядных резервных копий:
Это создаёт резервные копии с суффиксом
Практический пример: резервное копирование конфигурации SSH
Предположим, вы часто обновляете файл конфигурации SSH (
1. Создание резервной копии с нумерацией:
Это создаёт файлы вида
2. Создание резервной копии с пользовательским суффиксом:
Это создаёт файлы вида
Преимущества
🔹 Сохраняется история изменений файлов
🔹 Предотвращается случайная перезапись важных данных
🔹 Предлагается простая система версионности без необходимости использовать сложные системы контроля версий
👉 DevOps Portal
cp для копирования файлов. Однако немногие знают о её встроенной поддержке версионности.Эта функция может быть особенно полезна для системных администраторов и разработчиков, которым необходимо поддерживать несколько версий конфигурационных файлов или исходного кода.
Понимание версионности в
cpКоманда
cp предлагает два ключевых параметра для поддержки версионности:1.
--backup: создаёт резервную копию файла назначения перед его перезаписью.2.
--suffix: задаёт пользовательский суффикс для резервной копии.Простое резервное копирование
Чтобы создать простую резервную копию:
$ cp --backup=numbered /путь/к/исходному/файлу /путь/к/папке/назначения/
Эта команда создаёт резервную копию с суффиксом по умолчанию (
~) и увеличивающимся номером (например, файл.~1~, файл.~2~ и т.д.).Резервная копия с пользовательским суффиксом
Для более наглядных резервных копий:
$ cp --backup=numbered --suffix=.bak /путь/к/исходному/файлу /путь/к/папке/назначения/
Это создаёт резервные копии с суффиксом
.bak и увеличивающимся номером (например, файл.bak.1, файл.bak.2 и т.д.).Практический пример: резервное копирование конфигурации SSH
Предположим, вы часто обновляете файл конфигурации SSH (
/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно вести версионированные резервные копии:1. Создание резервной копии с нумерацией:
$ cp --backup=numbered /etc/ssh/sshd_config /data/backup/
Это создаёт файлы вида
sshd_config.~1~, sshd_config.~2~ и т.д.2. Создание резервной копии с пользовательским суффиксом:
$ cp --backup=numbered --suffix=.bak /etc/ssh/sshd_config /data/backup/
Это создаёт файлы вида
sshd_config.bak.1, sshd_config.bak.2 и т.д.Преимущества
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍10❤5
Двухминутная настройка. Повышение производительности Kubernetes.
Добавление параметров
Внимание: это может увеличить нагрузку на отдельные узлы, но взамен повышается отклик и сохраняется сессия, что критично для пользовательского опыта в высоконагруженных приложениях.
👉 DevOps Portal
Добавление параметров
externalTrafficPolicy: Local и sessionAffinity: ClientIP улучшает производительность за счёт снижения задержек и обеспечения привязки клиентских сессий к одному и тому же pod’у.Внимание: это может увеличить нагрузку на отдельные узлы, но взамен повышается отклик и сохраняется сессия, что критично для пользовательского опыта в высоконагруженных приложениях.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍8🤔1
Docker vs Podman – Знай различия
🔹 Docker = требует демон
🔹 Podman = без демона и без root-доступа
Оба запускают контейнеры, но Podman обходится без фонового сервиса и хорошо интегрируется с systemd.
Те же команды, больше безопасности.
Заметка: Docker тоже может запускать контейнеры без root-доступа, но для этого требуется дополнительная настройка и конфигурация.
👉 DevOps Portal
Оба запускают контейнеры, но Podman обходится без фонового сервиса и хорошо интегрируется с systemd.
Те же команды, больше безопасности.
Заметка: Docker тоже может запускать контейнеры без root-доступа, но для этого требуется дополнительная настройка и конфигурация.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤4🤔1
Шпаргалка по Netcat
Netcat (nc) — это мощный инструмент для работы с TCP/UDP: от диагностики до передачи файлов и обратных шеллов
👉 DevOps Portal
Netcat (nc) — это мощный инструмент для работы с TCP/UDP: от диагностики до передачи файлов и обратных шеллов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤8👍2
Основные команды
Выводит предупреждения по всему кластеру, например, ошибки при выделении IP-адресов подам.
Проверяет статус узлов и проблемы, связанные с конкретными зонами.
Отслеживает изменения манифеста пода и их источники.
Показывает зависимости ресурса и его создателей.
Сопоставляет сервисы с IP-адресами подов; если список пуст — проверь готовность подов и метки.
👉 DevOps Portal
kubectl для отладки в Kuberneteskubectl get events --field-selector type=Warning --all-namespaces Выводит предупреждения по всему кластеру, например, ошибки при выделении IP-адресов подам.
kubectl get nodes -o wide --label-columns http://topology.kubernetes.io/zone Проверяет статус узлов и проблемы, связанные с конкретными зонами.
kubectl blame pod $POD Отслеживает изменения манифеста пода и их источники.
kubectl lineage pod $PODПоказывает зависимости ресурса и его создателей.
kubectl get endpointslices -o wide Сопоставляет сервисы с IP-адресами подов; если список пуст — проверь готовность подов и метки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Изучаете, как вручную размещать Pod'ы в Kubernetes?
На платформе iximiuz Labs доступно задание, которое охватывает node selectors, правила affinity и taints.
Полезно, когда вам нужно контролировать размещение Pod'ов — например, для запуска рабочих нагрузок на узлах с GPU, изоляции сред или распределения трафика.
Если вы хотите освоить эти техники, это задание — отличный способ попрактиковаться.
Попробуйте здесь:
https://labs.iximiuz.com/challenges/kubernetes-pod-advanced-scheduling-3b631fdf
👉 DevOps Portal
На платформе iximiuz Labs доступно задание, которое охватывает node selectors, правила affinity и taints.
Полезно, когда вам нужно контролировать размещение Pod'ов — например, для запуска рабочих нагрузок на узлах с GPU, изоляции сред или распределения трафика.
Если вы хотите освоить эти техники, это задание — отличный способ попрактиковаться.
Попробуйте здесь:
https://labs.iximiuz.com/challenges/kubernetes-pod-advanced-scheduling-3b631fdf
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2
Forwarded from LinuxSkill - Сводки с прода и Шпаргалки
🧠 Как узнать ВСЁ о железе и системе в Linux за 5 минут
Привет, линукс-мастер! 🐧
Хочешь быстро получить полную информацию о процессоре, памяти, дисках, устройствах USB и прочем железе в системе? Лови топ команд для диагностики без лишних движений:
⚙️ Системная информация
-
🖥️ Информация о железе
-
-
-
-
-
🧠 Процессор и память
-
-
-
🛠️ Диски и файловые системы
-
-
-
-
-
🔥 Дополнительно
-
-
-
🛡️ Все команды работают в терминале, без GUI. Удобно для серверов, VPS и быстрой диагностики локальных машин.
📩 Завтра: Вопрос №25 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Превращаем namei в супер-ls с опцией -l!
🧠 - Prometheus: Все Основы Мониторинга — Почему Это Важно
🧠 - Раскрой тайны своего файрвола: просмотр правил iptables!
#Linux_Mastery @LinuxSkill #Linux #Sysadmin #Hardware #Terminal #Diagnostics
Привет, линукс-мастер! 🐧
Хочешь быстро получить полную информацию о процессоре, памяти, дисках, устройствах USB и прочем железе в системе? Лови топ команд для диагностики без лишних движений:
⚙️ Системная информация
-
uname -a — версия ядра и архитектура системы.🖥️ Информация о железе
-
lspci — список всех устройств на шинах PCI.-
lsusb — список USB-контроллеров и устройств.-
lshw — детальное описание железа.-
hwinfo — альтернатива lshw с расширенными данными.-
dmidecode — чтение таблицы DMI/SMBIOS (информация о BIOS, материнке, памяти).🧠 Процессор и память
-
lscpu — характеристики процессора.-
free -h — текущая загрузка ОЗУ.-
cat /proc/cpuinfo — подробности о CPU.🛠️ Диски и файловые системы
-
lsblk — список всех блочных устройств.-
blkid — метки разделов и UUID.-
fdisk -l, gdisk -l, parted -l — разметка дисков.-
df -h — свободное место на дисках.-
mount — список смонтированных разделов.🔥 Дополнительно
-
dmesg — лог загрузки ядра и сообщения устройств.-
hdparm -I /dev/sdX — характеристики жестких дисков.-
inxi -Fxz — сводный отчёт о системе и железе.🛡️ Все команды работают в терминале, без GUI. Удобно для серверов, VPS и быстрой диагностики локальных машин.
📩 Завтра: Вопрос №25 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Превращаем namei в супер-ls с опцией -l!
🧠 - Prometheus: Все Основы Мониторинга — Почему Это Важно
🧠 - Раскрой тайны своего файрвола: просмотр правил iptables!
#Linux_Mastery @LinuxSkill #Linux #Sysadmin #Hardware #Terminal #Diagnostics
Telegram
Linux Skill - Освой Linux c нуля до DevOps
🚀 Превращаем namei в супер-ls с опцией -l!
Эй, гуру командной строки! Хочешь получить всю мощь ls в одной команде namei? Знакомься с опцией -l!
Вот как это выглядит:
namei -l /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
Результат тебя удивит:…
Эй, гуру командной строки! Хочешь получить всю мощь ls в одной команде namei? Знакомься с опцией -l!
Вот как это выглядит:
namei -l /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
Результат тебя удивит:…
👍22❤1🔥1💊1
Вопросы для собеседования DevOps
Нашёл годный ресурс с вопросами и ответами по ключевым темам:
🔹 Core DevOps Concepts
🔹 K8s
🔹 CI/CD
🔹 Мониторинг и логгирование
🔹 SRE и куча других
Из минусов — вопросов пока маловато и местами поверхностно. Но как стартовый чеклист или разминка перед интервью — пойдет
https://interview.devopscommunity.in/
👉 DevOps Portal
Нашёл годный ресурс с вопросами и ответами по ключевым темам:
Из минусов — вопросов пока маловато и местами поверхностно. Но как стартовый чеклист или разминка перед интервью — пойдет
https://interview.devopscommunity.in/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤9🥱2
Реверс-инжиниринг Docker-образа
Если вдруг потерялся
Неудивительно, что сами эти утилиты — это тоже Docker-образы. Так что без лишних движений — запускай одну из команд ниже, и получишь восстановленную версию
Где
После выполнения получишь дамп с примерным содержимым
Чтобы не возиться каждый раз с полной командой — можно завести алиас:
И потом просто запускать:
Ещё есть полезный инструмент — dive. Он позволяет посмотреть, что именно лежит в слоях Docker-образа. Можно запускать как через контейнер, так и через бинарь. Удобно, если нужно отладить, что именно пошло не так в сборке.
Пример:
Если хочешь прикрутить его в CI/CD пайплайн — просто добавь:
👉 DevOps Portal
Если вдруг потерялся
Dockerfile от образа, который у тебя в проде, или просто хочется копнуть глубже и разобраться, как собирался образ под капотом — есть пара удобных тулзов, которые помогут вытянуть исходники и заодно прокачать понимание процесса билда.Неудивительно, что сами эти утилиты — это тоже Docker-образы. Так что без лишних движений — запускай одну из команд ниже, и получишь восстановленную версию
Dockerfile:sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm dduvnjak/dockerfile-from-image $IMAGE_ID
sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm laniksj/dfimage $IMAGE_ID
sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm mrhavens/dedockify $IMAGE_ID
Где
$IMAGE_ID — это ID нужного тебе образа, Dockerfile которого вы хотите восстановитьПосле выполнения получишь дамп с примерным содержимым
Dockerfile. Все три утилиты (dockerfile-from-image, dfimage, dedockify) работают схожим образом: они анализируют слои, которые появились во время сборки. Каждая инструкция из Dockerfile потенциально создаёт слой (но не всегда). Единственное отличие в том, что первая написана на Ruby, а вторые две на Python.Чтобы не возиться каждый раз с полной командой — можно завести алиас:
alias dedockify="sudo docker run -v /var/run/docker.sock:/var/run/docker.sock --rm mrhavens/dedockify"
И потом просто запускать:
dedockify $IMAGE_NAME
Ещё есть полезный инструмент — dive. Он позволяет посмотреть, что именно лежит в слоях Docker-образа. Можно запускать как через контейнер, так и через бинарь. Удобно, если нужно отладить, что именно пошло не так в сборке.
alias dive="sudo docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
Пример:
dive nginx:latest
Если хочешь прикрутить его в CI/CD пайплайн — просто добавь:
CI=true dive $IMAGE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤6
Принес годноту – Labex. Более 1000 интерактивных лабораторий и туториалов по DevOps, Linux, инфобезу, Python и многому другому
Всё работает прямо через браузер — никакой установки, просто открыл и погнал
Забираем абсолютно бесплатно здесь
👉 DevOps Portal
Всё работает прямо через браузер — никакой установки, просто открыл и погнал
Забираем абсолютно бесплатно здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍8🌭1