ДЕВОПСИНА | DevOps | Linux – Telegram
ДЕВОПСИНА | DevOps | Linux
24.9K subscribers
1.88K photos
11.1K videos
14 files
8.7K links
Авторский канал. Юморим и поднимаем айтишные темы.

Реклама: @maxgrue

MAX: https://max.ru/devopsina

Сисадмин, Девопс, Devops, Linux, SRE, Kubernetes, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin
Download Telegram
Пришел вчера ко мне тестировщик и говорит — Лёха бля, хочу графики с тестовых серверов, красивое, в графане и чтобы соплями алертами обмазываться в слаке.

Хули, задача ясна, получите-распишитесь, пошел пилить. Но далеко не ушел, по причине, что тестовый сервер состоит из 10 инстансов и только на одном имеется плавающий айпишник. Остальные имеют внутреннюю сетку типа 192.168.0.1/24. И таких тестовых серверов ебать штук 7, то есть 70 инстансов.

Бля, сука ты паганая, а как прометеус будет ходить на внутренние айпишники? Прикручивать к каждому инстансу внешний адрес? Да ну нахуй, я чо ебанутый чтоли....

Ладно, прикручу модель pushgateway либо сразу в victoria metrics буду пушить. И тут снова ебать грабля, у прометеуса тоже нет внешнего айпишника ))))))) И цеплять его туда я тоже не хочу по причине, в рот я ебал фаервол настраивать и всю эту погань лопатить.

Кароче как обычно ебашим костыль! У тестовых серверов есть по одному внешнему айпишнику, делаем ход конем:

-A PREROUTING -p tcp -m tcp --dport 1001 -j DNAT --to-destination 192.168.0.3:9100
-A PREROUTING -p tcp -m tcp --dport 1002 -j DNAT --to-destination 192.168.0.3:9001
-A PREROUTING -p tcp -m tcp --dport 1003 -j DNAT --to-destination 192.168.0.3:8888
-A POSTROUTING -j MASQUERADE


Идея в том, что с портов 1001-1003 мы попадаем на внутренние серваки и забираем метрики.

А прометеусу говорим, иди на внешний айпишник тестового сервера на порты 1001-1003 и забирай нужные метрики. Красата блять! Закинул в ансибл, прогнал на тестовых серверах и получил за несколько минут все необходимые метрики со всех инстансов.

Гениально!
This media is not supported in your browser
VIEW IN TELEGRAM
Когда проебал стендап, приходит пиэм петух и начинает орать
This media is not supported in your browser
VIEW IN TELEGRAM
Работал работал и сломал себе ide, начал чинить и сломал git репозиторий, начал чинить и сломал хуй. Иногда бывают дни что рабочая лошадка решила показать тебе песду и чтобы ты не делал ты хуй чо починишь быстро.
This media is not supported in your browser
VIEW IN TELEGRAM
Случайно нажал кнопку деплоя в прод, релиз полетел, но кнопки Отмена у тебя нет, ибо девопс выдал тебе урезанные права в тимсити
Трудолюбивые руки девопса
Ретроспектива
This media is not supported in your browser
VIEW IN TELEGRAM
Иногда есть знаки, которые подкидывает тебе судьба, к ним иногда нужно прислушаться. К примеру недавно я полез на прод в субботу, по своей инициативе, чтобы хуйню в nginx поправить. Но на прод меня не пустило, мол ключ ебать не подходит.

Примерно час я выяснял чо за гавно, по итогу гавно оказалось в ssh-agent. Когда я все это дело починил, банально ssh-add -D && ssh-add ~/.ssh/pezda то я зашел на прод, сделал свои грязные дела и нахуй все сломал. Потом чинил еще пару часов, бекапить то меня не учили ага.

И это не в первый раз такая залупа, в плане того, что тебя специально уводят от проблемы, но ты сука всеравно побеждаешь систему и реализуешь задуманное и потом страдаешь.

мораль: если нихуя не получается, хлопни крышкой ноута и съябывай на рыбалку
This media is not supported in your browser
VIEW IN TELEGRAM
А завтра снова пятница, внатуре, прикиньте!!
This media is not supported in your browser
VIEW IN TELEGRAM
Когда продакшен сказал — Не сегодня мужик!
This media is not supported in your browser
VIEW IN TELEGRAM
Когда в компании скончался девопс и команда своими силами собрала действительно рабочий пайплайн из гавна и палок
Media is too big
VIEW IN TELEGRAM
Пятничная компиляция факапов
This media is not supported in your browser
VIEW IN TELEGRAM
С пятницей коллеги! Удар в печень спасает любой вечер (с) Мистер Забор
Ха, я придумал как использовать переменные gitlab в deployment кубернейтса. Банально в пайплайне вставляем строчку:

- sed -i 's/INJECT_TG_API_TOKEN/'${TG_API_TOKEN}'/g' manifests/deployment.yml

В ямле deployment.yml ищется строчка INJECT_TG_API_TOKEN и заменяется на переменную TG_API_TOKEN, которая объявлена в gitlab. Ну а дальше kubectl apply и нормальный деплой с передачей необходимых ключей.

Контекст здесь такой — я пока еще не поставил vault и не хочу использовать helm. Качу все через kubectl

Пока оставляю такой костыль на время пока разбираюсь с разворотом и конфигурацией vault от хашикорпов. Вариант рабочий и не надо хранить секреты в репозитории + это быстро затыкается дыра с секретами.

Еще была мысль джинжей отрендерить вообще весь файл deployment.yml но это уже лишняя зависимость и тут подход больше в helm смахивает.