理解 K8S 的设计精髓之 list-watch
理解 K8S 的设计精髓之 list-watchList-watch, 是k8s系统中统一的一部消息传递方式,对系统的性能、数据一致性起到关键性的作用,Etcd 存储集群的数据信息,apiserver 作为统一入口,任何对数据的操作都必须经过 apiserver。客户端(kubelet/scheduler/ontroller-manager)通过 list-watch 监听 apiserver 中
·
理解 K8S 的设计精髓之 list-watch
List-watch, 是k8s系统中统一的一部消息传递方式,对系统的性能、数据一致性起到关键性的作用,Etcd 存储集群的数据信息,apiserver 作为统一入口,任何对数据的操作都必须经过 apiserver。客户端(kubelet/scheduler/ontroller-manager)通过 list-watch 监听 apiserver 中资源(pod/rs/rc 等等)的 create, update 和 delete 事件,并针对事件类型调用相应的事件处理函数。
上图是一个典型的Pod创建过程,在这个过程中,每次当kubectl创建了ReplicaSet对象后,controller-manager都是通过list-watch这种方式得到了最新的ReplicaSet对象,并执行自己的逻辑来创建Pod对象。其他的几个组件,Scheduler/Kubelet也是一样,通过list-watch得知变化并进行处理。
更多推荐
已为社区贡献5条内容
所有评论(0)