k8s核心组件

img
img

master中的核心组件

  1. api-server(接口服务,基于rest风格开放k8s接口的服务)
  2. kube-controller-manager(管理各个类型的控制器,针对k8s中的各种资源进行管理)
    img
  3. cloud-controller-manager(云控制管理器,第三方云平台提供的控制器,api对接管理功能)
  4. kube-scheduler(调度器,负责将pod基于一定的算法,将其调用到更合适的节点(服务器)上)
  5. etcd(理解为k8s的数据库,键值类型的分布式数据库,提供了基于raft算法实现自助的集群高可用[老版本:基于内存 新版本:持久化存储])
    ps:官方对于整个存储的地方称之为面板,控制面板

node中的核心组件

  1. kubelet(负责pod的生命周期,存储,网络)
  2. kube-proxy(网络代理(内部网络),负责service的服务发现 负载均衡[4层负载])
  3. container-runtime(容器运行时环境:docker,containerd,cri-o[一般会在三者中选择一个])

附加组件

  1. kube-dns(负责为整个集群提供dns服务)
  2. ingress controller(为服务提供外网入口)
  3. prometheus(监控)
  4. dashboard(ui界面)
  5. federation(提供跨可用区的集群)
  6. fluentd-elasticsearch(提供集群日志采集,存储和查询)

分层架构

img

  1. 生态系统(最顶层)
    基于k8s的生态系统所创建出来的应用
  2. 接口层(所有的应用都需要调用k8s的接口)
  3. 管理层(管理层,系统度量(基础设施,容器和网络的度量),自动化(如自动扩展,动态provision等)以及策略管理(RBAC,Quota,psp,networkpolicy等))
  4. 应用层(部署(五状态应用,有状态应用,批处理任务,集群应用等)和路由(服务发现,dns解析))
  5. 核心层(kubernetes最核心的功能,对外提供api构建高层的应用,对内提供插件式应用执行环境)
  6. 插件(整个架构从上往下,最后调用不同的插件)
posted on 2024-05-05 15:51  代码你敲我不敲  阅读(12)  评论(0编辑  收藏  举报

返回顶端