kubernetes 学习日志 - 介绍说明
资源管理器对比
MESOS,Docker Swarm,kubernetes
borg架构介绍
由BorgMaster和BorgLet组成
1、BorgMaster:负责请求的分发,存在多个副本(奇数)
2、BorgLet:监听paxos中的请求,并处理请求
3、scheduler:调度器,将请求写入 paxos中
K8S架构图
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版:持久化
2.4.1 etcd架构
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的集群日志统一分析接入平台