Всем привет!
… you run
kubectl apply? Есть разные статьи на тему «Что происходит если…». Например, удаление pod, работа планировщика Kubernetes и т.д.Сегодня же речь пойдёт о том, что происходит «внутри» Kubernetes при запросе создания/изменения ресурса, получаемого от пользователя.
Сам по себе ресурс не управляется YAML-файлом, который его создал. Например, с
Deployment могут взаимодействовать различные участники: kubectl, Helm, ArgoCD, HPA и т.д.И когда несколько участников могут взаимодействовать с ресурсом возникает вопрос – а как именно происходит контроль его состояния?
Именно этому и посвящена статья. Для примера рассматривается пример создания символичного
Deployment.Далее описываются все этапы его «приключения» до тех пор, пока он не будет создан в кластере. Все запросы, комментарии и пояснения к ним от Автора.
Помимо этого, рассматривается что происходит при изменении ресурса (да, похоже на создание, но именно что похожа), как работают Merge и т.д.
Завершает статью пример использования флага
--server-side: сценария, при котором желаемое состояние направляет apiserver и уже он, а не kubectl принимает решение о том, что надо изменить.Статья точно подойдет тем, кто хочет больше разобраться во внутреннем устройстве Kubernetes и принципах его работы.