加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Kubernetes系统架构演进过程与背后驱动的原因

发布时间:2018-09-29 14:13:18 所属栏目:移动互联 来源:季向远译
导读:【新品产上线啦】51CTO播客,随时随地,碎片化进修 带你相识Kubernetes架构的计划意图、Kubernetes体系的架构开拓演进进程,以及背后的驱动缘故起因。 1、配景 各类平台城市碰着一个不行回避的题目,即平台应该包括什么和不包括什么,Kubernetes也一样。Kuberne
副问题[/!--empirenews.page--] 【新品产上线啦】51CTO播客,随时随地,碎片化进修

带你相识Kubernetes架构的计划意图、Kubernetes体系的架构开拓演进进程,以及背后的驱动缘故起因。

1、配景

各类平台城市碰着一个不行回避的题目,即平台应该包括什么和不包括什么,Kubernetes也一样。Kubernetes作为一个陈设和打点容器的平台,Kubernetes不能也不该该试图办理用户的全部题目。Kubernetes必需提供一些根基成果,用户可以在这些根基成果的基本上运行容器化的应用措施或构建它们的扩展。本文旨在明晰Kubernetes架构的计划意图,描写Kubernetes的演进过程和将来的开拓蓝图。

本文中,我们将描写Kubernetes体系的架构开拓演进进程,以及背后的驱动缘故起因。对付但愿扩展可能定制kubernetes体系的开拓者,其应该行使此文档作为领导,以明晰可以在哪些处所,以及怎样举办加强成果的实现。假如应用开拓者必要开拓一个大型的、可移植的和切合未来成长的kubernetes应用,也应该参考此文档,以相识Kubernetes未来的演化和成长。

Kubernetes体系架构演进进程与背后驱动的缘故起因

从逻辑上来看,kubernetes的架构分为如下几个条理:

  • 焦点层(Nucleus): 提供尺度的API和执行机制,包罗根基的REST机制,安详、Pod、容器、收集接口和存储卷打点,通过接口可以或许对这些API和执举办扩展,焦点层是必须的,它是体系最焦点的一部门。
  • 应用打点层(Application Management Layer ):提供根基的陈设和路由,包罗自愈手段、弹性扩容、处事发明、负载平衡和流量路由。此层即为凡是所说的处事编排,这些成果都提供了默认的实现,可是应承举办同等性的替代。
  • 管理层(The Governance Layer):提供高条理的自动化和计策执行,包罗单一和多租户、怀抱、智能扩容和供给、授权方案、收集方案、配额方案、存储计策表达和执行。这些都是可选的,也可以通过其余办理方案实现。
  • 接口层(The Interface Layer):提供民众的类库、器材、用户界面和与Kubernetes API交互的体系。
  • 生态层(The Ecosystem):包罗与Kubernetes相干的全部内容,严酷上来嗣魅这些并不是Kubernetes的构成部门。包罗CI/CD、中间件、日记、监控、数据处理赏罚、PaaS、serverless/FaaS体系、事变流、容器运行时、镜像客栈、Node和云提供商打点等。

2、体系分层

就像Linux拥有内核(kernel)、焦点体系类库、和可选的用户级器材,kubernetes也拥有成果和器材的条理。对付开拓者来说,领略这些条理长短常重要的。kubernetes APIs、观念和成果都在下面的层级图中获得浮现。

Kubernetes体系架构演进进程与背后驱动的缘故起因

2.1 焦点层:API和执行(The Nucleus: API and Execution)

焦点层包括最焦点的API和执行机。

这些API和成果由上游的kubernetes代码库实现,由最小特征集和观念集所构成,这些特性和观念是体系上层所必须的。

这些由上游KubNeNETs代码库实现的API和函数包罗成立体系的高阶级所需的最小特性集和观念集。这些内容被明晰的地指定和记录,而且每个容器化的应用城市行使它们。开拓职员可以安详地假设它们是一向存在的,这些内容应该是不变和乏味的。

2.1.1 API和集群节制面板

Kubernetes集群提供了相同REST API的集,通过Kubernetes API server对外举办袒露,支持耐久化资源的增编削查操纵。这些API作为节制面板的关节。

遵循Kubernetes API约定(路径约定、尺度元数据等)的REST API可以或许自动从共享API处事(认证、授权、审计日记)中收益,通用客户端代码可以或许与它们举办交互。

作为体系的最娣层,必要支持须要的扩展机制,以支持高层添加成果。其它,必要支持单租户和多租户的应用场景。焦点层也必要提供足够的弹性,以支持高层能扩展新的范畴,而不必要在安详模式方面举办妥协。

假如没有下面这些基本的API机和语义,Kubernetes将不可以或许正常事变:

认证(Authentication): 认证机制长短常要害的一项事变,在Kubernetes中必要通过处事器和客户端两边的认证通过。API server 支持根基认证模式 (用户定名/暗码) (留意,在未来会被放弃), X.509客户端证书模式,OpenID毗连令牌模式,和不记名令牌模式。通过kubeconfig支持,客户端可以或许行使上述各类认证模式。第三方认证体系可以实现TokenReview API,并通过设置认证webhook来挪用,通过非尺度的认证机制可以限定可用客户端的数目。

  • The TokenReview API (与hook的机制一样) 可以或许启用外部认证搜查,譬喻Kubelet
  • Pod身份标识通过”service accounts“提供
  • The ServiceAccount API,包罗通过节制器建设的默认ServiceAccount保密字段,并通过接入容许节制器举办注入。

授权(Authorization):第三方授权体系可以实现SubjectAccessReview API,并通过设置授权webhook举办挪用。

SubjectAccessReview (与hook的机制一样), LocalSubjectAccessReview, 和SelfSubjectAccessReview APIs能启用外部的容许搜查,诸如Kubelet和其余节制器。

  • REST 语义、监控、耐久化和同等性担保、API版本节制、违约、验证
  • NIY:必要被办理的API缺陷:
  • 夹杂违约举动
  • 穷乏保障
  • 编排支持
  • 支持变乱驱动的自动化
  • 干净卸载

NIY: 内置的准入节制语义、同步准入节制钩子、异步资源初始化 — 刊行商体系集成商,和集群打点员实现特另外计策和自动化

NIY:API注册和刊行、包罗API聚合、注册特另外API、刊行支持的API、得到支持的操纵、有用载荷和功效模式的具体信息。

NIY:ThirdPartyResource和ThirdPartyResourceData APIs (或她们的担任者),支持第三方存储和扩展API。

NIY:The Componentstatuses API的可扩展和高可用的更换,以确定集群是否完全浮现和操纵是否正确:ExternalServiceProvider (组件注册)

The Endpoints API,组件增持必要,API处事器端点的自我宣布,高可用和应用层方针刊行

The Namespace API,用户资源的范畴,定名空间生命周期(譬喻:大量删除)

The Event API,用于对重大变乱的产生举办陈诉,譬喻状态改变和错误,以及变乱垃圾网络

NIY:级联删除垃圾网络器、finalization, 和orphaning

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读