for {
actualState := GetResourceActualState(rsvc)
expectState := GetResourceExpectState(rsvc)
if actualState == expectState {
// do nothing
} else {
Reconcile(rsvc)
}
}
调谐循环;
实现方式类似于一个无限循环,通过不断地对比资源的实际状态于我们期望的状态(事件驱动+定时同步),如果不同则进行Reconcile(调谐:最终结果一般是对被控制对象的某种写操作,比如增/删/改 pod)。
4.声明式api
所谓声明式就是“告诉 K8s 你要什么,而不是告诉它怎么做的命令”,一个很熟悉的例子就是 SQL,你“告诉 DB 根据条件和各类算子返回数据,而不是告诉它怎么遍历,过滤,聚合”。在 K8s 里面,声明式的体现就是 kub