Коллеги, приветствую 👋🏻
Давно не было историй, самое время исправляться.
История из серии «всё работало, пока не стало очень странно», зато с полезным уроком 🔥
В какой-то момент мы начали замечать, что при выполнении пайплайнов некоторые джобы падают по странным причинам. Происходит сбой, и все следующие задачи на этом раннере завершаются с ошибкой. Через некоторое время всё снова работает нормально, до следующего раза.
⏩Первое, на что указывала ошибка, — проблемы со сроком действия сертификата. Но сертификат не может временно становиться недействительным, тем более так избирательно. Подобное поведение может быть связано с ошибками времени, однако служба синхронизации у нас функционировала корректно.
⏩Копнули глубже и включили дополнительный мониторинг. И тут стало понятно: в какой-то момент время на сервере проваливалось в условный 1970 год, а затем через некоторое время синхронизировалось обратно. Но за это короткое окно успевали упасть десятки джобов...
Сначала мы подумали о возможном вредительстве, однако оказалось, что некоторые сборки пакетов действительно могут вызывать подобные ситуации, если у раннера включён привилегированный режим.
Отсюда простой, но важный вывод: привилегированный режим для CI-раннеров — это зона повышенного риска, и его стоит избегать, где это возможно. Причём даже вполне легитимные джобы иногда могут оказывать похожий эффект.
Post #1094
1.67K
- 🤔 8