kube-router文档中文翻译四 架构

204 阅读1分钟

Kube-router 是围绕观察者和控制器的概念构建的。观察者使用 Kubernetes 观察 API 获取与创建、更新、删除 Kubernetes 对象相关的事件通知。每个观察者会收到与某个特定 API 对象相关的通知。当收到事件时,观察者会广播事件。控制器注册者以获取到来自观察者的事件更新,并对事件做出反应。

如下图所示,Kube 路由器由 3 个核心控制器和多个监视器组成。

kube-router-arch.png

每个控制器遵循如下结构:

func Run() {
    for {
        Sync() // control loop that runs for ever and perfom sync at periodic interval
    }
}

func OnUpdate() {
    Sync() // on receiving update of a watched API object (namespace, node, pod, network policy etc)
}

Sync() {
    //re-concile any state changes
}

Cleanup() {
    // cleanup any changes (to iptables, ipvs, network etc) done to the system
}