k8s社区架构

社区架构分层

  生态系统

    CI/CD、微服务、日志收集、持续监控、operator

  接口层

    k8s官方的库、工具、UI;可有外部的自有实现

    kubectl  helm  dashboard  ....

  治理层

    策略执行和自动化编排,是对于应用的可选层,不影响应用的执行

    RABC  HPA  ....

  应用层

    部署和路由,k8s的业务功能

    kube-proxy  ingress  ....

  内核层

    核心功能,最小特性集,类似于kernel,集群管理功能

    API Server  etcd  ....

  底层

    容器运行时  网络插件  存储插件  镜像库  云提供商  

控制器架构-list-watch机制

  三层架构

    底层

      使用ETCD作为数据持久化存储与访问

    中间层

      API Server作为中间层接收所有对集群的访问,认证鉴权后将请求路由到正确位置(etcd或集群组件)

    上层

      kubectl、controller-manager、scheduler、kubelet,向apiserver发送请求,监控并调整集群状态至预期

  流程

    0:controller-manager发起对资源的监控,scheduler发起对未调度的pod的监控,kubelet发起对预调度到本地节点的pod的监控

    1:kubectl发起对集群资源的更改请求,API Server认证鉴权返回结果,同时将该更改记录etcd

    2:etcd完成数据记录后,上报资源更改事件,API Server通知事件,controller-manager定期list检测到资源更改请求,处理该请求,发起创建或销毁pod

    3:scheduler定期list检测到pod未调度,进行多策略调度,更新pod按调度结果绑定node。

    4:kubelet定期上查看并上报被调度到本node的pod的状况,执行生命周期动作

 

posted @ 2023-10-27 23:13  花都八达鸟  阅读(48)  评论(0)    收藏  举报