master
apiserver:是k8s cluster的前端接口,提供restful api各种客户端工具以及 k8s 其他组件可以通过它管理 cluster 中的各种资源
Scheduler:负责决定将 pod 放在哪个 node 上运行,scheduler 在调度时会充分考虑 cluster 中各个节点的负载,以及应用对高可用、性能、数据亲和性的需求。
controller-manager:负责管理 cluster 各种资源,保证资源处理预期状态。由多种 controller 组成,包括 replication controller,endpoint controller,namespace controller,serviceaccount controller 等例如:replication controller 管理 deployment ,statefulset,damonset 的生命周期,namespace controller 资源管理 namespace 资源
etcd(分布式 key-value 存储库)负责保存 cluster 的配置信息和各种资源的状态信息。当数据发生变化时,etcd 会快速地通知 k8s 相关组件。
node
Kubelet:node节点的代理,当 master 节点中 kube-scheduler 确定在某个 node 节点上运行 pod 后,会将 pod 的具体配置信息发送给该节点的 kubelet,kubelet 根据这些信息创建和运行容器,并向 master 节点报告运行状态
kube-proxy:每个 node 节点都会运行 kube-proxy 服务,它负责将访问 service 的请求转发到后端的容器。如果有多个副本,kube-proxy 会实现负载均衡
Docker Engine:负责节点的容器的管理工作
标签:node,架构,Kubernetes,核心,cluster,controller,pod,kube,节点 From: https://www.cnblogs.com/zaizai1573/p/17211945.html