组件说明
k8s架构图
对于高可用集群来说,节点数量(高可用集群副本)最好在3以上的奇数个数量
Master
scheduler:负责介绍任务,选择核实的节点进行分配任务。调度器,分配任务到不同的node里。scheduler与etcd的交互通过api server进行沟通,即scheduler把任务交给api server后,api server将请求写入etcd。
crontroller manager控制器 [rc(replication controller)]:维护副本(期望值)数目,即创建或删除对应的pod。
api server:一切服务访问的入口。api server接收到请求后会去操作etcd
etcd:键值对数据库。是K8S集群中的重要存储系统,存储K8S集群所有重要信息(需要持久化的数据)。
? 官方将其定义为一个可信赖的分布式键值存储服务,他能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运行。
etcd架构图
Node
kubelet:直接和容器引擎交互,实现容器的生命周期管理。例如:kubelet会和doucker进行交互,操作docker创建对应的容器,维持pod的生命周期。
kube proxy:负责写入规则至iptables、ipvs,实现服务映射访问。负载均衡的关键,具体作用于pod与pod之间的访问。默认操作的对象是firewell(防火墙)
其他较重要的插件
coredns:可以为集群中的SVC创建一个域名ip的对应关系解析。实现负载均衡的其中一项功能。
dashboard:给K8S集群提供一个 B/S 结构访问体系
ingress controller:官方提供4层代理,这个可以提供七层代理
federation:提供一个可以跨集群中心多K8S统一管理功能
prometheus:提供K8S集群的监控能力
ELK:提供K8S集群日志统一分析介入平台
|