Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统
在这里插入图片描述
MESOS APACHE 分布式资源管理框架 2019-5 Twitter 》 Kubernetes
Docker Swarm 2019-07 阿里云宣布 Docker Swarm 剔除
Kubernetes 源自 Google 10年容器化基础架构 borg 系统 由 GO 语言开发

特点:
轻量级
消耗资源小
开源
弹性伸缩
负载均衡:IPVS

Borg系统架构
在这里插入图片描述

  • 每个集群叫一个cell,会有一个对应的BorgMaster。

这里BorgMaster画了好多层是刻意的,为了high availability每个cell有5个BorgMaster,单是这5个BorgMaster里面只有一个是真正的leader。这五个BorgMaster有一个基于Paxos的储存。

  • 每个机器上面会有一个Borglet,BorgMaster定期会跟Borglet沟通你现在需要在这个机器上面做什么,开什么新的软件啊之类的

1.这里有一个设计是Borglet不跟BorgMaster主动沟通,因为如果出现突然断电这类意外,会有大量的Borglet同时想要跟BorgMaster沟通,这时候反而有可能因为访问太多把BorgMaster搞倒了。
2.BorgMaster跟Borglet沟通的桥梁中间加了一层link shard,很大一个作用是只把Borglet的变化传给BorgMaster,这样可以减少沟通的成本和BorgMaster处理的成本。

k8s架构
在这里插入图片描述
在这里插入图片描述
Kubernetes主要由以下几个核心组件组成:

  • api server:所有服务访问统一入口
  • CrontrollerManager:维持副本期望数目
  • Scheduler:负责接受任务,选择合适的节点进行分配任务
  • etcd:键值对数据库 储存K8S集群所有重要信息(持久化)
    【 推荐使用V3版本,V2已经在V1.11中弃用】
  • Kubelet:直接跟容器引擎交互实现容器的生命周期管理
  • Kube-proxy:负责写入规则至 IPTABLES、IPVS 实现服务映射访问的
  • CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析
  • DashBoard:给 K8S 集群提供一个 B/S 结构访问体系
  • Ingress Controller:官方只能实现四层代理,INGRESS 可以实现七层代理
  • Federation:提供一个可以跨集群中心多K8S统一管理功能
  • Prometheus:提供K8S集群的监控能力
  • ELK:提供 K8S 集群日志统一分析介入平台
  • cloud-controller-manager,用于公有云的接入实现,
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐