Веб-версияОткрыть в Telegram

Пост🐳 Хватит тащить curl и vim в продакшн! (Используем Ephemeral Containers)

11 января 2026
Б
Библиотека девопса | DevOps, SRE, Sysadmin
🐳 Хватит тащить curl и vim в продакшн! (Используем Ephemeral Containers) Салют, коллеги, всех с прошедшими праздниками! 👋 Сколько раз я видел Dockerfile, который начинается за здравие (FROM alpine), а заканчивается установкой половины интернета: apk add curl vim net-tools bind-tools...? Аргумент всегда один: "Ну мне же надо как-то дебажить, если под отвалится!" В итоге мы получаем: 1. Раздутый образ. (Платим за сторадж и трафик). 2. Дыру в безопасности. (Хакер, попавший в контейнер, скажет спасибо за curl и nmap, любезно оставленные вами). Правильный путь - это Distroless образы или минимальный Alpine, где нет даже шелла. А для дебага мы используем Ephemeral Containers (эфемерные контейнеры). 🛠 Как это работает? В Kubernetes (начиная с v1.25 это уже стабильная фича) вы можете "подселить" временный контейнер в работающий Pod. Он будет делить с подом пространство имен процессов (PID) и иногда сети, но файловая система у него будет своя. То есть: ваш прод-контейнер остается чистым, а дебаг-тулзы прилетают только по требованию. 🔥 Практика: kubectl debug Допустим, у вас есть "глухой" под my-app, в котором нет ничего, кроме бинарника приложения. Вам нужно проверить сеть. Вместо того чтобы пересобирать образ, делаем так: kubectl debug -it my-app \ --image=nicolaka/netshoot \ --target=my-app-container Разберем магию: 🔘 --image=nicolaka/netshoot: Мой любимый образ для траблшутинга. Там есть ВСЁ: tcpdump, curl, dig, iperf, mtr. 🔘 --target: Указываем, к какому контейнеру в поде подключиться (важно, чтобы видеть процессы друг друга). Теперь вы внутри пода, но со швейцарским ножом в руках. Проверили коннект до базы, сняли дамп трафика, вышли и эфемерный контейнер исчез. Чисто, красиво, секьюрно. 🛡 💡 А если я не в K8s? Если вы сидите на чистом Docker, похожий трюк делается через --pid и --network: docker run -it --rm \ --network container:my-prod-container \ --pid container:my-prod-container \ nicolaka/netshoot Итог: Перестаньте бояться Distroless образов. Инструментарий для внешнего дебага уже давно вырос. 💬 А какой у вас любимый тул-кит для дебага сети? Пишите в комменты! 👇 #k8s #docker #security #tips #debug Подпишись 👉@devopslib
46 · 925 ·

Рядом в ленте

ББиблиотека девопса | DevOps, SRE, SysadminПочему операционные runbook - это спасение, а не бюрократия Когда случается инцидент, мозг отключается первым. Остаются только привычка и инструкции. Хороший ruББиблиотека девопса | DevOps, SRE, SysadminОдна из самых недооценённых вещей в DevOps - подготовленные сценарии отказов. Большинство инцидентов выглядят одинаково: 💚 02:37 ночи 💚 CPU 100%, latency растёт
это сообщение
ББиблиотека девопса | DevOps, SRE, Sysadmin🚑 HEALTHCHECK: Спасательный круг или выстрел в ногу? Продолжаем тему стабильности. Сегодня про Healthchecks (в Docker) и Probes (в K8s). Казалось бы, что сложноББиблиотека девопса | DevOps, SRE, Sysadmin🛑 Не убивай меня сразу! Настраиваем Graceful Shutdown Коллеги, бывало такое? Вы делаете kubectl rollout restart, Kubernetes обещает бесшовное обновление, но в м
ББиблиотека девопса | DevOps, SRE, SysadminБиблиотека девопса | DevOps, SRE, Sysadmin@devopslib · канал · Технологии
1 267подписчиков259средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем