知识卡片
声明式配置的协调循环
内容
用 kubectl 命令一步步创建、删除资源是命令式的,做不到版本控制和可复现;Kubernetes 推荐的方式是把期望状态写进 YAML 清单,用 apply 命令交给集群,而不是告诉集群”具体该怎么做”。背后运作的是控制器(controller)持续监视集群,把清单里声明的期望状态和集群里的实际状态做对比,一旦发现差异就主动采取行动去消除这个差异——这套机制叫协调循环。声明式相比命令式(如 Ansible、Puppet 这类工具)的本质区别在于:命令式关心”怎么从当前状态走到目标状态”这条具体路径,声明式只关心目标状态本身,路径完全交给系统自己去算,不管中途发生了什么意外(Pod 崩溃、节点下线),系统都会持续朝着同一个目标状态收敛。发散:这解释了[[容器编排的视角转换]]里提到的声明式优势到底强在哪——一旦期望状态被声明下来,它就变成了一个持续生效的约束而不是一次性的操作指令,这是自愈能力能够自动发生的根本原因。
参考来源
《Cloud Native Spring in Action》第7章《Kubernetes fundamentals for Spring Boot》