一、Kubernetes组件
1.1控制面板组件(都是在master上面的)
kube-apiserver:对节点以及任务处理的一个相关接口(所有的调用都要经过这个组件调用)
kube-controller-manager:控制器管理器,管理各个类型的控制器。针对k8s中所有的资源调度进行管理(可以理解为管理pod、任务管理调度各个层面的东西。运行控制器进程,每个控制器都是单独的进程)
cloud-controller-manager:云控制器管理器,第三方云平台提供的控制器对接API对接管理功能。
kube-scheduler:调度器,将pod基于一定的算法,将其调用到更合适的节点上(服务器)
etcd:理解为k8s的数据库,它是一个键值类型存储的分布式数据库,提供了基于Raft算法实现了自主的集群高可用。(它是高可用服务可以支撑起整个K8s的存储能力的)[老版本:基于内存 新版本:基于持久化存储的]
[ceph:分布式文件系统]
1.2节点组件
kubelet:复制pod的生命周期、存储以及网络的管理
kube-proxy:代理(网络代理),负责service服务发现以及负载均衡(四层负载)
container runtime:容器的运行时环境(docker、contianerd、CRI-O)
1.3附加组件
kube-dns:负责为整个集群提供DNS服务
Ingress Controller:外部网络,为服务提供外网入口
Heapster:提供资源监控
Prometheus:主流提供资源监控的方案
Dashboard:GUI界面(控制界面)
Federation:跨可用区的集群(可以理解为集群间的调度)
Fluentd-elasticsearch:提供集群日志采集、存储和查询
二、分层组件
2.1生态系统
2.2接口层
接口调用