Добавить в корзинуПозвонить
Найти в Дзене
Merion Academy

Все знают про Docker, Kubernetes и Terraform

А эти 5 неочевидных инструментов упускают, и зря, потому что они сильно упрощают жизнь 🙈 1) k9s / https://github.com/derailed/k9s Вот представь, сидишь и вбиваешь kubectl get pods, потом kubectl describe pod, потом kubectl logs -f, потом снова kubectl get pods, чтобы посмотреть, как там твой деплой. И так целый день. Или не надо представлять и уже знакомо? Встречай k9s - это терминальный UI для кубера, где все поды, сервисы, деплойменты, логи и шеллы доступны в две клавиши. После недели использования возвращаться к голому kubectl это как пересесть с автомата на коробку (в которой только первая передача). 2) dive / https://github.com/wagoodman/dive Собрал образ, а он внезапно весит 1.2 ГБ. Открываешь Dockerfile, смотришь, вроде ничего лишнего. Почему гигабайт-то? А никто не знает, потому что Docker не показывает, что реально лежит внутри его слоев. dive показывает каждый слой, что в нем поменялось и сколько места занимает каждый файл. За полчаса с ним можно срезать образ в 2–3 ра

Все знают про Docker, Kubernetes и Terraform. А эти 5 неочевидных инструментов упускают, и зря, потому что они сильно упрощают жизнь 🙈

1) k9s / https://github.com/derailed/k9s

Вот представь, сидишь и вбиваешь kubectl get pods, потом kubectl describe pod, потом kubectl logs -f, потом снова kubectl get pods, чтобы посмотреть, как там твой деплой. И так целый день. Или не надо представлять и уже знакомо?

Встречай k9s - это терминальный UI для кубера, где все поды, сервисы, деплойменты, логи и шеллы доступны в две клавиши. После недели использования возвращаться к голому kubectl это как пересесть с автомата на коробку (в которой только первая передача).

2) dive / https://github.com/wagoodman/dive

Собрал образ, а он внезапно весит 1.2 ГБ. Открываешь Dockerfile, смотришь, вроде ничего лишнего. Почему гигабайт-то? А никто не знает, потому что Docker не показывает, что реально лежит внутри его слоев.

dive показывает каждый слой, что в нем поменялось и сколько места занимает каждый файл. За полчаса с ним можно срезать образ в 2–3 раза, просто увидев, что apt не почистил кеш или что node_modules протекли в финальный слой.

3) direnv / https://github.com/direnv/direnv

Бывает заходишь в проект, делаешь source .env, потом идешь в соседний и забываешь, что в шелле все еще переменные от предыдущего. А через два часа ловишь, почему миграция накатилась на прод вместо стейджа.

direnv сам подгружает переменные при заходе в директорию и убирает их при выходе. Один раз настроил .envrc и больше об этом не задумываешься. Кстати, и новичка в команду заводить проще: cd в папку, и окружение уже готово.

4) act / https://github.com/nektos/act

Или такая ситуация: написал workflow для GitHub Actions, пушнул, все упало. Поправил, пушнул, опять упало. Через 20 коммитов с названием "fix ci" наконец заработало, но история выглядит так, будто ты учился программировать прямо в main.

act запускает GitHub Actions локально в Docker. Поправил yaml - прогнал у себя - увидел ошибку - поправил снова. Без лишнего фарша в истории и без необходимости объяснять тимлиду, почему ты заспамил репу.

5) sops / https://github.com/getsops/sops

Секреты в git коммитить нельзя - это все знают. Но как тогда хранить пароли от баз и API-ключи рядом с кодом, чтобы не таскасть их через тысячу чатиков и не разворачивать ради двух токенов полноценный Vault?

sops шифрует только значения в YAML/JSON/env, оставляя структуру читаемой. Diff в пулл-реквесте остается осмысленным, ключи лежат в KMS/age/PGP, а .enc.yaml спокойно живет в репозитории. Особенно заходит в небольших командах, где Vault - это как из пушки по воробьям.

Не забудь сохранить, чтобы упростить себе жизнь 😏

И заглядывай на бесплатные вводные уроки с Филиппом на курсе DevOps-инженер с нуля.

#спросиуспикераMerion