K8s 集群机器划分为一个master 节点和一群 node 节点,高可用中master 节点一般为奇数个(投票选举机制)
Master 节点组件
API server :本质是一个Web 服务器,通过 Restful 接口编写,提供可以用来和集群交互的 Rest 端点,是K8s 集群所有资源增删改查的唯一入口。
Controller Manager :集群内部的管理控制中心,负责维护集群状态,主要有故障检测和恢复、自动化、滚动更新等
Scheduler :负责集群资源调度,将pod 负载到node 节点上
etcd :键值对数据库,存储集群状态信息
kebectl :是一个客户端的管理工具,直接管理API server,提供一个请求到一个api server,中间有一个auth认证(判断是否有权限访问)
Node 节点组件
kube-proxy :通过ipvs、iptables实现网络分发、负载均衡
kubelet :负责维护容器生命周期,pod创建,启动,停止等