Rancher Server 集群控制器和集群 Agent
每一个下游集群都有一个集群 Agent 保持下游集群的集群控制器与 Rancher Server 之间的信息畅通。
集群控制器具有以下功能:
- 检测下游集群的资源变化,如内存使用率、CPU 使用率等
- 把下游集群从“当前”状态变更到“目标”状态
- 配置集群和项目的访问控制策略
- 通过调用 Docker Machine 和 Kubernetes Engine,如 RKE 和 GKE,创建集群。
默认状态下,集群控制器连接 Agent,Rancher 才可以与下游集群通信。如果集群 Agent 不可用,集群控制器可以连接到节点 Agent,通过节点 Agent 实现用户和集群之间的通信。
集群 Agent,也叫做“cattle-cluster-agent”,是在下游集群中运行的组件,它具有以下功能:
- 连接使用 Rancher 部署的 Kubernetes 集群(RKE 集群)中的 Kubernetes API。
- 管理集群内的工作负载,pod 创建和部署。
- 根据每个集群的设置,配置 Role 和 RoleBindings
- 实现集群和 Rancher Server 之间的消息传输,包括事件,指标,健康状况和节点信息等。