k8s系列:基础概念

borg系统

Master节点为奇数,scheduler向paxos写入数据,然后borglet监听到右自己的消息,就会执行命令。

k8s架构

和borg一样,但是中间加了一个apiserver层,etcd约等于paxos。

  • scheduler:负责接收任务,选择合适的节点进行分配任务.
  • replication controller:负责控制node的副本数量,也就是删除或者创建pod.
  • apiserver:所有外界输入的入口,包括kubelet、kube proxy、replication controller、scheduler.
  • etcd:可信赖的分布式键值对数据库,存储k8s集群的所有重要信息,其内部结构如下图所示:

etcd使用http协议的c/s架构,WAL是一种持久化策略,简单来说就是增量+完整备份,每一小段时间进行一个增量备份,每隔一大段时间进行完整备份,数据写入store中.

  • kubelet:(CRI:container runtime interface),操作docker,维护Pod的生命周期(pod运行在docker中).
  • kube proxy:负责写入ipvs和iptables,执行负载均衡,实现pod和pod之间的通信.

其他概念

  • coreDNS:为集群中的SVC创建一个域名IP的对应关系解析。
  • dashboard:给k8s集群提供的B/S访问体系。
  • ingress controller:官方只实现四层代理,ingress实现七层代理。
  • federation:提供一个可以跨集群中心多k8s统一管理功能。
  • prometheus:提供k8s集群的监控能力。
  • ELK:提供k8s日志统一管理平台。