Вторая часть серии про внутренности controller-runtime и Kubernetes API — теперь про запись.
Если в прошлый раз говорили про кэш, watch'и и чтение объектов, то теперь разберём: как работает three way merge и server side apply, зачем нужны managedFields, как apiserver хранит ownership полей.
И главное — как всё это позволяет нескольким контроллерам безопасно менять один объект одновременно.
https://habr.com/ru/companies/aenix/articles/1039282/
Если в прошлый раз говорили про кэш, watch'и и чтение объектов, то теперь разберём: как работает three way merge и server side apply, зачем нужны managedFields, как apiserver хранит ownership полей.
И главное — как всё это позволяет нескольким контроллерам безопасно менять один объект одновременно.
https://habr.com/ru/companies/aenix/articles/1039282/