- 2018年3月 , Kubernetes正式从CNCF毕业 , 开始一统江湖 。 (所谓毕业是指这个产品可以直接使用在生产环境)
- 目前 , Kubernetes已经成为容器编排领域的事实标准 。
每个人对这个问题 , 都有一些自己的理解 , 本文从技术方面对该问题进行了阐述 。
二、Why Kubernetes
Kubernetes源于希腊语 , 意为“舵手” 。 k8s缩写是因为k和s之间有八个字符的原因 。 它是google在2015开源的容器调度编排的平台 。 它是建立在Google大规模运行生产工作负载(Borg系统)十几年经验的基础上 ,结合了社区中最优秀的想法和实践 , 已经成为了目前容器编排的事实标准 。
其实看到Docker和Kubernetes的Logo , 就可以很快明白Kubernetes的作用 。 Docker的Logo是一条鲸鱼船 , 运载着许多封装好的集装箱(container) , 代表着一次打包到处运行的意图 。 而Kubernetes的Logo就是这条船的方向舵!
对于Why Kubernetes?很多人都有自己的理解 , 接下来笔者从技术的角度 , 阐述一下自己的观点 。 Kubernetes技术上的成功 , 个人认为核心在于三个关键点:
- 成熟的技术前身
- 优秀的框架架构
- 良好的核心设计
Borg系统一直以来都被誉为Google内部最强大的“秘密武器” , 是Google整个基础设施的核心依赖 。 很多应用框架已经运行在Borg上多年 , 其中包括了内部的MapReduce、GFS、BigTable、Megastore等 , 上层应用程序更是有这些耳熟能详的产品:Gmail、Google Docs、Google Search等 。
其架构图如下所示:
架构分析:
- 集群分为Master节点与Worker节点 。
- Master节点由多台机器构成 , 一主多备 。
- BorgMaster由主进程和scheduler进程组成 , 主进程处理clientRpc请求 , scheduler负责调度tasks 。
- Borglet是Worker节点上的代理进程 , 用于启停tasks 。
对于成熟高效的Borg系统 , 继承者Kubernetes从中获得了宝贵的经验:
- Pods 。 Pod是Kubernetes中调度的单位 。 它是一个或多个容器在其中运行的资源封装 。 保证属于同一 Pod的容器可以一起调度到同一台计算机上 , 并且可以通过本地卷共享状态 。 Borg有一个类似的抽象 , 称为alloc(“资源分配”的缩写) 。
- Service 。 Kubernetes使用服务抽象支持命名和负载均衡:带名字的服务 , 会映射到由标签选择器定义的一组动态Pod集 。 集群中的任何容器都可以使用服务名访问服务 。
- Labels 。 通过使用标签组织Pod , Kubernetes比Borg支持更灵活的集合 , 标签是用户附加到Pod(实际上是系统中的任何对象)的任意键值对 。
- Ip-per-Pod 。 Borg容器只能共享主机网络 , 必须将端口作为调度的资源 。 在Kubernetes中IP是以Pod为单位分配的 , 一个Pod内部的所有容器共享一个网络堆栈 。
- 整体架构
整个系统由控制面(Master)与数据面(Worker Node)组成 。 Master核心组件:
- API Server 。 集群控制的唯一入口 , 它是各个组件通信的中心枢纽 。
- controller-mananger 。 负责编排 , 用于调节系统状态 。 内置了多种控制器(DeploymentController、- ServiceController、NodeController、HPAController等)是Kubernetes维护业务和集群状态的最核心组件 。
- 今日头条|高温烧烤模式下,Garmin Forerunner 955带你玩转夏季跑步
- kubernetes|100W+256GB,现已跌至“新低价”,华为拍照手机加速清仓
- kubernetes|能说会唱长续航,累计销量350W+?塞那X6S蓝牙小音箱轻评
- 酷派|千元高品质,5G好声音,酷派COOL 20s 5G带你纵享快乐
- 全球财经网|详解ZStack Cloud 4.4.6:API Inspector带你轻松玩转ZStack Cloud API
- ios15|618一线品牌游戏本该怎么选?干货文带你看懂它们的优缺点汇总
- |图文并茂,教你如何设计10/0.4kV变电所的接地,通俗易懂
- 全球财经网|直击2022西部数博会丨相芯科技带你了解数字人技术
- 耳机|音效纯正的有线耳机,优越动圈工艺,好耳机带你低音感受低音波澜
- CPU|起飞!16核i9 12950HX带你“俯瞰众生”