「KUBERNETES」- COMPONENTS @20210417
内容简介
本文将简单介绍在Kubernetes中的各个组件及其作用。
集群架构图
下图源自官方文档:
Kubernetes control plane
etcd
分布式高可用键值存储,集群持久化组件。存储每个节点会用到的配置信息,包含敏感信息。
该组件只能由「API Server」访问。
API Server(kube-apiserver)
使用API提供集群中所有操作,即集群所有操作通过API接口实现,所有组件均与API Server交互。
Controller Manager(kube-controller-manager)
该组件负责收集集群状态并执行任务。
核心控制器有Replication controller、Endpoint controller、Namespace controller、Service account controller,不同控制器负责集群不同方面。
Scheduler(kube-scheduler)
在主节点中关键组件,负责分发工作负载。换句话说,它负责将POD分配到可用节点。
Kubernetes node
kubelet
主要的节点代理,运行在每个节点中。它负责接收PodSpec定义(主要来自于API Server服务),然后确保节点中的POD运行及健康。
kube-proxy
网络代理,运行在各节点中,负责进行流量转发、轮寻等等。
Container Runtime
容器运行环境,通常为Docker等等容器运行环境。
Addons
DNS
Web UI (Dashboard)
Container Resource Monitoring
Cluster-level Logging
相关文章
参考文献
Kubernetes Components
Kubernetes in three diagrams
Kubernetes Reference/kube-proxy
Kubernetes Reference/kubelet
Kubernetes - Cluster Architecture
Wikipedia/Kubernetes