DevOps 413
الذهاب إلى القناة على Telegram
Опыт инженера изнутри: DevOps-практика, инфраструктура, конференции и карьера в IT https://youtube.com/@devops413
إظهار المزيدلم يتم تحديد البلدالفئة غير محددة
302
المشتركون
+1324 ساعات
+297 أيام
+2930 أيام
أرشيف المشاركات
302
Если вы никогда не админили куб 🖼️ - вы, скорее всего, никогда не сталкивались с зеркальными подами. Но даже если админили - есть ряд объектов, с которыми вы не взаимодействовали напрямую. Я собрала свой список неочевидных абстракций, с которыми вы могли не сталкиваться или сталкивались, но не знаете, что это.
1️⃣. Finalizer
Это поле в метаданных любого ресурса. Пока оно не пустое - Kubernetes не удалит объект, даже если вы уже выполнили kubectl delete. Он просто висит в статусе Terminating и ждёт дополнительного события. Встречается в операторах и CRD - контроллер должен сначала почистить внешние ресурсы, и только потом разрешить удаление. Часто при мне начинающие инженеры спотыкались об него и ломали голову почему откат helm релиза завис 😅2️⃣. Ephemeral container
Временный контейнер, который можно добавить в уже запущенный под без его перезапуска командой kubectl debug. Используется только для отладки - особенно когда основной образ собран на distroless и внутри нет ни bash, ни curl, вообще ничего. Добавляешь эфемерный контейнер с нужными инструментами, дебажишь, после удаляем. 3️⃣. Pause container Первый контейнер, который создаётся в каждом поде без исключения еще до старта основного. Он держит network и PID namespace для всех остальных контейнеров в поде. Именно поэтому все контейнеры в поде видят один и тот же localhost. Его можно увидеть в crictl ps как pause.4️⃣. Sidecar container
Начиная с Kubernetes 1.29 - это уже не паттерн, а отдельный тип контейнера в поде (initContainer с restartPolicy: Always, init контейнер в отличие от Sidecar запускается только при старте пода один раз). Он стартует до основных контейнеров и живёт столько же, сколько под. Раньше так называли просто контейнер-компаньон рядом с основным - агент логов или рестарт сервис.5️⃣. Static pod
По сути это контейнер, которым управляет kubeletнапрямую, читая манифест из директории на ноде и минуя контроллеры и kube-scheduler. И никакого управления через kube-api: вы не можете его удалить командой kubectl delete. Именно так, например, запущен kube-apiserver, что позволяет повысить его отказоустойчивость.6️⃣. Mirror pod
Когда kubelet запускает static pod, он создаёт в API-сервере его "зеркальную" копию - mirror pod. Это readonly-представление: вы видите его через kubectl get pods. Если удалить такой под, то пропадет сам объект kube-api, но фактически контейнер статик пода будет продолжать работать.7️⃣. PDB (Pod Disruption Budget)
Объект, который используется не так часто, как deployment. Он говорит кластеру: "не трогай больше N подов одновременно". Срабатывает при запланированных эвикциях (дрейн ноды, rolling update). Без PDB при kubectl drain все реплики вашего приложения могут упасть одновременно. С PDB - кластер подождёт, пока где-то поднимется новый под, и только потом продолжит.8️⃣. Lease
Объект в группе coordination.k8s.io, механизм распределённой блокировки. Используется для leader election - когда у вас несколько реплик контроллера, но активно работать должна только одна. Именно через Lease kube-controller-manager и kube-scheduler выбирают лидера. Ещё kubelet обновляет свой Lease каждые несколько секунд - это его heartbeat, по которому API-сервер понимает, что нода жива.9️⃣. EndpointSlice
Замена старому объекту Endpoint. Хранит маппинг сервиса на IP-адреса конкретных подов, но разбитый на слайсы по 100 записей. Появился потому, что в больших кластерах один Endpoints на сервис с тысячами подов - это огромный объект, который при каждом изменении перегружает etcd и сеть. EndpointSlice решает эту проблему. Когда трафик идёт не туда - идёте проверять именно его.1️⃣0️⃣. SubjectAccessReview
API-объект для проверки RBAC-прав. Отправляешь запрос: "может ли пользователь X выполнить действие Y на ресурсе Z?" - получаешь yes/no. Именно это делает kubectl auth can-i под капотом. Полезно знать при написании операторов или admission webhook-ов, которым нужно самим проверять права перед тем, как что-то сделать.Сколько пунктов из 10 тебе приходилось дебажить?) Мне семь 😅
302
🖼️ Кубоводы общий сбор! 🖼️
30 июля в Москве встречаемся на конференции Kuber Community day.
Регистрация бесплатная, можно присоединиться к онлайн трансляции.
Я буду одним из спикеров и расскажу вам о прелестях Talos, буду рада всех увидеть и со всеми пообщаться 🤗
Регистрация по ссылке.
302
Если вы опытный инженер, то уже хотя бы раз задумывались о лидерстве. Как выстроить карьеру от сисадмина до С-level позиции? Как лидировать команды и приводить продукт к успеху на рынке? На эти вопросы ответил новый гость подкаста Александр Крылов ❤️
Саша поделился своим опытом, дал советы начинающим лидам, обсудили найм и зарплаты девопсов, а также Саша назвал свой ТОП-3 сложных технологий в DevOps.
Приятного просмотра!
https://youtu.be/fT8MKpKST68
302
Тизер подкаста с новым гостем, заслуженным айтишником и талантливым руководителем Александром Крыловым!
Саша рассказал про свою карьеру и поделился советами, обсудили рынок. Что же все таки выбрал Саша: сварм или куб, и причем тут животные 😹? В среду вечером вам точно будет, что посмотреть! :)
302
Что там по найму сейчас на рынке?
На той неделе во время записи новой серии подкаста обсуждали текущие вилки. Что я вижу: зп перестали расти, требования к миддлам выросли и ими, как кажется, хотят заменить сеньоров. То есть переименовать сеньора в миддла и за те же компетенции заплатить поменьше. Или только мне так кажется?
Много вакансий без вилок и реальные цифры мало кто хочет называть, видимо, чтобы не переплатить. Активно помогаю паре инженеров готовиться к собесам и в целом вижу, что найм скорее жив, чем мёртв, но ушел в какую то тень.
Только что Yadro объявил о быстрых офферах для DevOps инженеров https://getmatch.ru/vacancies/34251. Ищущий да обрящет.
Если кто то сейчас ходит по собесам или участвует в найме, поделитесь вашей картиной происходящего 🙏
302
+7
На днях я попала на экскурсию в московский ЦОД компании Selectel, и мне очень понравилось!
Группа была небольшая (человек 10-12), и мы поделились на две. Сначала нам показали уличные ДГУ (дизель-генераторные установки) и рассказали, как происходит переключение на альтернативные источники питания. Заглянули внутрь одной из ДГУ, в которой используется 16-цилиндровый V-образный двигатель Rolls-Royce.
Далее мы зашли в само здание и первым делом увидели ИБПшники, про которые я никогда не слышала - динамический ИБП Piller с кинетическим накопителем энергии на маховике. Вместо батарей используется тяжёлый маховик, раскрученный до безумных оборотов: пока есть городское питание (основной источник), он работает как мотор и крутит маховик, накапливая кинетическую энергию, при просадках городской сети маховик по инерции продолжает вращаться, электромашина переходит в режим генератора и питает ЦОД до старта ДГУ.
Также нас пустили в серверные и показали, как проведены коммуникации для облачных и выделенных серверов. Всего в ЦОД проведены 14 провайдеров. Показали, как организованы горячие и холодные коридоры, как работает система фрикулинга. В качестве последней остановки мы попали в центр мониторинга: они не используют привычные опенсорсные Grafana/Zabbix, у них своя система, спроектированная в CAD-е.
Было очень приятно пообщаться со всеми ребятами, ответили на все вопросы, даже самые примитивные 🤪 Фотографировать было нельзя, но пару фоточек я сделала.
Я увидела информацию об экскурсии в их тг-канале, они сделали это ежемесячной активностью, так что если захотите посетить один из их ЦОДов в Москве или Питере, следите за новостями, если увижу - тоже поделюсь.
Ранее Selectel приглашали меня на бизнес-ужин в Казани, где я много узнала об облачных провайдерах и познакомилась с некоторыми коллегами по цеху (тот самый нетворкинг). А ещё ранее летом я попала на очень редкую экскурсию в московский офис Яндекса и тоже была в восторге (увидела у @ever_secure). Посмотрела, как работают другие, какие есть условия на рынке, плюсы и минусы. Это помогает расширить кругозор, увидеть альтернативы и повысить свои притязания к рабочим условиям. Именно поэтому я записываю на ютубе подкасты с инженерами - чтобы можно было поделиться тем, как бывает у других, и на что-то вдохновиться 🙂
302
С чего начать путь в IT? Как перейти в DevOps инженеры? Нормально ли испытывать стресс и страх провала от повышенной ответственности? На все эти вопросы ответил Ярослав, делясь своим опытом карьеры в IT. От дежурного в отделе DBA до Senior DevOps, стипендия молодого ученого, релокация в Питер и топ сложных технологий в DevOps. Приятного просмотра!
https://youtu.be/mfDgTDLESao
302
Вы когда нибудь встречали умника? Не мамкиного умника, а олимпиадного. Ярославу за это даже платили стипендию 😁
Что это за зверь - Senior DevOps, как им стать?
Ярослав поделился своим опытом, рассказал о том, что его калит в IT и много другого интересного!
Ловите тизер, а завтра выйдет полное интервью :)
302
Ксюша в IT уже 16 лет и прошла путь от эникея до фуллстека, а сейчас работает инженером. Она поделилась своим опытом, плюсами и минусами, дала советы начинающим. Обсудили токсичность в IT и зарплаты.💵
Обязательно посмотрите интересное интервью, где Ксюша рассказывает про большой опыт, трудности и свои победы! 💪Будем рады поддержке в виде лайков и репостов🫰
https://youtu.be/NVN15Z8bGDA
302
«Девушка? DevOps? Это как так у вас получилось?» - один раз слышала в свою сторону на собесе. У меня часто спрашивают, почему мало девушек инженеров. Я не знаю)) Но, возможно, в следующем подкасте удастся частично ответить.
Успевая в последний вагон уходящего поезда по имени равноправие женщин, хочу анонсировать завтрашний выпуск с прекрасной @just_ksenos 💐
Ксюша поделилась своим разнообразным опытом и это в очередной раз напоминает, что если мы чего то не видим, не значит, что этого не существует ☝️
302
Что будет с IT рынком в 2026?
Давайте попробуем пооперировать фактами.
1️⃣ИП, ГПХ.
Из‑за роста налоговой нагрузки на классическое оформление и ужесточения правил работы с самозанятыми бизнес всё чаще смотрит в сторону альтернативных форматов — ИП, ГПХ, проектные контракты.
2️⃣Удаленка.
Количество вакансий с гибридом тоже увеличилось, хотя фул тайм офис по прежнему андердог. Удаленке в России тяжело прежде всего из за проблем с корпоративными впнами, бигтеховскими бюрократическими политиками и падению качества командных взаимодействий (айтишники засычевались и одичали). I did my research и нашла упоминания в качестве одной из причин - снижение продуктивности на удаленке. Не уверена насчет статистики, но лично у меня эффективность сильно выше на удаленке в тишине.
3️⃣Внедрении ИИ.
Все большую часть процесса найма автоматизируют при помощи ИИ. Я сама лично однажды столкнулась с ботом HRом при отклике на вакансию, назначили HR скрининг. В назначенный день подключилась к встрече, а там бот, который просит разрешение на запись и транскрипцию - задает вопросы, записывает ответы и дает оценку кандидата. Я просто сбежала с этого звонка 😂 Я молчу про ATSки и ИИшные вакансии.
4️⃣Собеседования.
В ходе священной войны с треклятыми волками технические интервью перестраиваются на новый формат, который лично мне нравится чуть больше классической экзаменации. Вместо сухих вопрос-ответов моделируется ситуации на основе реальных задач, больше систем дизайна. Такой подход помогает увидеть, как мыслить кандидат, что, имхо, важнее, чем наличие зазубренных ответов. Это как картинка с горой лестниц. Плюс такой подходит помогает снизить случаи использования ИИ на собесах.
Интересно, а вы ощущаете свою продуктивность больше на удаленке или в офисе? Что вообще думаете о рынке в 2026?
302
Repost from Клуб IT Инфраструктуры Inview
↘️↙️↖️↕️↔️ Предлагаем вам максимально залипательный способ прокачать system design и облачную архитектуру — игра Server Survival!
Это 3D tower defense, где вы играете за облачного архитектора: строите инфраструктуру, раскидываете файрволы, балансировщики, сторэджи, отбиваетесь от DDoS-атак, следите за бюджетом и здоровьем сервисов
По сути, это интерактивный симулятор продакшн-нагрузки, только в формате игры 🖥
▫️Играть онлайн
▫️Исходный код на GitHub
#devops #opensource
302
А вот и первый выпуск 💥
Большое спасибо Илье за интервью и за гостеприимную встречу в Саранске 🙏
Ждем ваших комментариев, вопросов и предложений для следующего интервью. Веду переговоры со следующим гостем 🤫
Буду рада репостам 🤝
https://youtu.be/Q1h92-Af1Ek?si=iSJjCCtPGzeWIb5u
302
У меня в заметках много разных идей 💡для постов, пользуясь случаем хочу попросить проголосить за то, о чем вам больше всего было бы интересно услышать 😐
302
Давно не было постов, так как занималась съемками и монтажом первого подкаста-интервью 😳
Готовьтесь к новым порциям интересного контента, не зря же в названии канала http status 4️⃣1️⃣3️⃣
🛠 Дебаг веб сервиса
Проблема: nginx не отдает метрики по эндпоинту.
Пререквизиты: есть под с nginx в кубере, есть сервис, который слушает на порту
9000, по этому порту должны быть доступны прометеус метрики по эндпоинту /metrics.
Симптомы: curl отдает Connection refused. В данном случае refused отдает ингресс контроллер.
Перед началом диагностики важно в голове иметь общую схему зоны, в рамках которой мы можем определить проблему.
В данном случае это кубернетис кластер, сеть за пределами кластера, само приложение.
В процессе траблшутинга я всегда иду _от общего к частному_, последовательно деля зону поиска на блоки — что-то вроде бинарного поиска в программировании.
Первое, что я проверила, основываясь на опыте, — слушается ли приложением порт.
В манифесте пода порт объявлен:
kubectl get po pod -o yaml | grep 9000
# containerPort: 9000
Я решила проверить доступность порта внутри контейнера, и curl вернул 404.
Тут важно понимать, что если вебсервер (в данном случае nginx) вернул 404, это значит, что он получил запрос, но не смог его обработать, потому что для него нет правила.
И здесь это ключевое: значит, что порт слушается, но по этому эндпоинту приложение ничего не отдает, потому что не сконфигурировано.
Дальше стоит идти в настройки вебсервера. 🔍
💥 Сломанный helm релиз
Проблема: невозможно установить релиз командой helm upgrade.
Пререквизиты: разработчик сообщил, что он отменил в гитлабе джоб на раскатку релиза helm upgrade в самый разгар выполнения, чуть позже снова запустил деплой, но теперь helm upgrade каждый раз отдает:
Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress
Для тех, кто работает с кубом, это знакомая ситуация, и я сразу знала, в чем причина.
Но мой коллега инженер столкнулся с таким впервые.
Сразу вопрос: что вы знаете о финалайзерах? 🙂
Проще говоря, это специальные метки, которые означают ожидание дополнительных событий при удалении ресурса.
Если у ресурса есть финалайзер, контроллеры отслеживают такие объекты и выполняют очистку зависимостей, и только потом финалайзер удаляется.
Пока на ресурсе есть финалайзер, он не будет удален. ⏳
В нашем случае процесс установки релиза был прерван и не завершился корректно, так как операция была атомарной и при прерывании операции ресурсы новой версии должны были быть удалены, но этот процесс не завершился корректно.
Поэтому остались ресурс(ы) с финалайзерами, ожидающие удаления.
Чтобы быстро найти тот самый ресурс, я написала простенький однострочный bash-скрипт:
for i in $(kubectl -n ns get all | awk '{print $1}' | grep -v NAME); do if kubectl -n ns get $i -o yaml | grep -q final; then echo $i; fi; done
Команда kubectl -n ns get all даст нам список всех ресурсов в неймспейсе, среди которых мы и будем искать.
Это удобно, когда ищешь иголку в стоге 🙂
В результате выполнения скрипт вернет список ресурсов, в которых нашел финалайзеры.
Ну и как последний шаг — удаляем финалайзер:
kubectl -n ns patch resource --type='json' -p='[{"op": "remove", "path": "/metadata/finalizers"}]'
# вместо resource тут указываете вывод из предыдущей команды
Обычно изучая инструменты и технологии мы узнаем как они должны работать, но не как их чинить. Процесс траблшутинга это то, что развивается только на практике и делает специалиста ценным кадром в команде, к которому идут все за помощью ;)302
Я к вам с небольшим анонсом 👉
В скором времени планирую записать серию подскастов/интервью с практикующими DevOps/SRE инженерами, в которых они расскажут о рабочих реалиях, о трудностях и как они попали в айти.
Из животрепещущих тем будем обсуждать:
- рост
- деньги
- hard & soft skills
- собесы
- личный опыт
Это даст классную возможность для начинающих инженеров узнать про реальную будничную работу без купюр от реального девопса, а не блогера продавана курсов 😭. А для опытных расширить горизонт и понять, как бывает у других, куда можно двигаться и что для этого нужно.
Если у вас есть интересные вопросы или темы, которые вы бы хотели услышать, пожалуйста, напишите их в комментариях 🙏
302
Я тут записалась на инженерную конфу от тинька T-sync conf, новый формат, обещает быть интересным.
Сейчас увидела, что будет хакатон с призом в 500к. Срочно ищу команду 😂😂😂
А вообще мне очень приглянулась программа, интересно узнать какой инцидент будет на разборе, демо по сборке какого то сервиса да и вообще весь блок Observability.
Буду там - пришлю видео отчет :)
302
Всем привет!
Перед тем, как мы все ворвемся в рабочую рутину, решила записать небольшое хоум видео и рассказать про свои факапы и рекомендации, как их избежать, чтобы начать год без ошибок ;)
P.S. жду ваши истории 😈
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
