Сообщество RSS DEV

Серия о постоянстве Kubernetes, часть 1: Когда наш Ingress исчез после обновления узла

Панель мониторинга исчезла после планового обновления узла GKE, выявив проблему с управлением ресурсами. Pod контроллера NGINX Ingress был вытеснен и перезапущен, но ресурс Grafana ingress исчез, сделав сервис недоступным. Расследование показало, что ingress исчез из-за отсутствия TLS секрета и сбоя вебхука допуска. TLS секрет был создан вручную и не управлялся никаким контроллером, что привело к отклонению вебхуком ingress во время перезапуска контроллера. Проблема возникла из-за использования `kubectl apply` без какого-либо механизма согласования, что привело к сбою при воссоздании ingress. Решением стала миграция на Helm charts, которые хранят состояние релиза и могут воссоздавать отсутствующие ресурсы. Helm обеспечивает согласованное управление ресурсами и эффективно управляет зависимостями. Подобных проблем можно избежать, управляя секретами с помощью операторов и понимая вебхуки допуска. Ресурсы, управляемые Helm, ресурсы, управляемые операторами, и ресурсы с ссылками на владельцев переживают вытеснения pod. Ресурсы, примененные вручную, и те, которые ссылаются на отсутствующие зависимости, более уязвимы. Инцидент подчеркнул важность использования таких инструментов, как Helm, Kustomize или GitOps для производственных ресурсов.
favicon
dev.to
Kubernetes Persistence Series Part 1: When Our Ingress Vanished After a Node Upgrade
Изображение к статье: Серия о постоянстве Kubernetes, часть 1: Когда наш Ingress исчез после обновления узла
Create attached notes ...