一、master节点组件
- Api Server: 作为集群的api入口点,对集群资源的增删改查都通过Api Server进行。
- Etcd:高可用键值存储系统,用于保存集群的所有状态数据(如配置、状态等)。
- Scheduler:负责将pod调度到合适的节点上。
- Controller Manager:负责运行和控制控制器,如Node控制器、pod控制器、endpoint控制器、namespace控制器等 。
以上组件集合称为Control Plane(控制平面)。
二、node节点组件
- Kubelet:在每个节点上运行,负责与控制平面通信,与容器运行时(container runtime)接口通过CRI管理pod的生命周期,包括启动和停止容器。
- Kube Proxy: 实现k8s的网络代理功能,代理service,负责维护网络规则并转发流量到endpoint端点集合,分发到pod上,支持iptables和ipvs模式。
三、附加组件
- CoreDNS:为集群内的服务提供域名解析服务,自动为每个服务生成 DNS 记录,使得可以通过名称而不是 IP 地址访问服务。
- Metrics Server:收集集群中各个节点和 Pod 的资源使用情况(如 CPU、内存),为水平自动伸缩(HPA)等特性提供数据支持。
- Dashboard:提供一个图形化的 Web 界面,用于管理和监控 Kubernetes 集群。
- Prometheus, Grafana:提供全面的监控和告警功能,帮助管理员实时了解集群的健康状况。
- Logging:集中收集和管理集群内所有容器的日志,便于调试和分析可以集成第三方日志管理工具(如 ELK Stack、Fluentd)。