kubernetes 学习日志 - 介绍说明

资源管理器对比

          MESOS,Docker Swarm,kubernetes

kubernetes 学习日志 - 介绍说明

borg架构介绍
kubernetes 学习日志 - 介绍说明

 

由BorgMaster和BorgLet组成

1、BorgMaster:负责请求的分发,存在多个副本(奇数)

2、BorgLet:监听paxos中的请求,并处理请求

3、scheduler:调度器,将请求写入 paxos中

K8S架构图

kubernetes 学习日志 - 介绍说明

1、kubectl:命令管理工具

2、scheduler、apiServe、replication controller  相当于BorgMaster

 2.1 scheduler:负责接收任务并选择合适的节点分配任务。任务到达后将任务交给apiServer,apiserver负责将任务写入etcd

 2.2  replication controller :控制副本数(控制pod数量)

 2.3  apiserver:所有服务访问的统一入口。(压力最大)

  2.4 etcd:键值对数据库 ,保存分布式集群需要持久化的配置信息,一旦集群死亡。可以借助etcd的数据恢复。

     v2版:保存到内存

     v3版:持久化

kubernetes 学习日志 - 介绍说明

    2.4.1 etcd架构

kubernetes 学习日志 - 介绍说明

     Raft:要存储的数据

     WAL:预写日志 (完整+临时  )

3、node:kubelet 、kubeproxy  pod container组成

     kublet:维持pod的生命周期,通过CRI(container runtime interface)去创建管理容器

     kube-proxy:负责写入规则至IPTABLE、IPVS实现服务映射访问。 负责pod之间的通信以及负载均衡。

4、其他概念

CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析

Dashboard:给K8S集群提供一个 B/S结构访问体系

Ingress controller:官方只能实现四层代理,ingress实现七层代理

fedeation:提供一个跨集群中心多K8S统一管理功能

prometheus:提供K8S集群的监控能力

EFK:提供k8s的集群日志统一分析接入平台