Incident with Webhooks
GitHub сообщает о сбое веб-хуков: с 17:30 до 19:30 UTC не работали webhook-доставки, а затем и другие сервисы. Команда уже восстановила работу и ведёт мониторинг. Подробности и подписка на обновления — в статусе инцидента.
Комментарии (65)
- Пользователи жалуются на регулярные сбои GitHub: от тотального отсутствия push/pull до «залипших» PR и застрявших CI-запусков.
- Сторонники самостоятельного хостинга спорят, что монолитный подход GitHub увеличивает шанс «всё сломать» и усложняет отладку.
- Сторонники GitHub отвечают, что самостоятельный хостинг не защищён от сбоев и требует тратить время на интеграцию инструментов вместо разработки.
- Участники обсуждения отмечают, что GitHub Actions и большинство других сервисов всё ещё нестабильны, а их взаимодействие с Issues и PR нередко приводит к сбоям.
- В итоге обсуждение свелось к тому, что единственный способ избежать сбоев — это не полагаться ни на один сервис целиком, а держать варианты «под рукой» и быть готовым в любой момент мигрировать.
Automatic K8s pod placement to match external service zones
Проект автоматического размещения в зонах для Kubernetes решает проблему неэффективного распределения подов, когда система не учитывает сетевую топологию. Это приводит к задержкам и избыточным затратам на передачу данных между узлами.
Решение заключается в том, чтобы Kubernetes осознанно размещал поды в зонах, минимизируя межзональный трафик. Для этого используются метки узлов и правила анти-аффинити, которые гарантируют, что поды, взаимодействующие друг с другом, размещаются в одной зоне. Это снижает задержки и стоимость передачи данных, особенно в распределенных и облачных средах.
Реализация требует обновления конфигураций Kubernetes, таких как использование podAntiAffinity с метками зон. Тестирование показало сокращение задержек на 30% и снижение затрат на передачу данных на 40% в production-кластерах. Это особенно полезно для сервисов, требующих интенсивного обмена данными, таких как микросервисы или распределенные базы данных.
Комментарии (30)
- Proposed solution to Kubernetes' lack of awareness of external service network topology: use an operator that sets affinity rules based on real-time lookup of service AZ info (e.g., RDS, Redis)
- Limitations and challenges: requires a mutating webhook (only executed at pod creation); doesn't handle subsequent AZ changes in referenced services; may need integration with external services (e.g., AWS API) for current AZ info
- Alternative considerations: some suggest simpler solutions (e.g., systemd services) or question Kubernetes' fit; others note the solution's value in specific scenarios (e.g., performance issues from incorrect AZ placement)
- Implementation details: the operator would need to handle failure scenarios (e.g., crash loops) gracefully; also, some suggest enhancements like automatic zone placement disable or using lookup services for AZ info
- Broader context: while not a universal solution, it's a practical approach for those needing to optimize Kubernetes deployments with external services, and could be extended (e.g., as a platform component) despite inherent limitations