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

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

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

NIY: 必要内置的add-on的打点器 ,从而可以或许自动添加自宿主的组件和动态设置到集群,在运行的集群中提取出成果。

  • Add-ons应该是一个集群处事,作为集群的一部门举办打点
  • 它们可以运行在kube-system定名空间,这么就不会与用户的定名举办斗嘴

API server作为集群的网关。按照界说,API server必须可以或许被集群外的客户端会见,而Node和Pod是不被集群外的客户端会见的。客户端认证API server,并行使API server作为碉堡和署理/通道来通过/proxy和/portforward API会见Node和Pod等Clients authenticate the API server and also use it

TBD:The CertificateSigningRequest API,可以或许启用认证建设,出格是kubele证书。

抱负环境下,焦点层API server江仅仅支持最小的必须的API,特另外成果通过聚合、钩子、初始化器、和其余扩展机制来提供。留意,中心化异步节制器以名为Controller Manager的独立历程运行,譬喻垃圾网络。

API server依靠下面的外部组件:

  • 耐久化状态存储 (etcd,或相对应的其余体系;也许会存在多个实例)
  • API server可以依靠:
  • 身份认证提供者
  • The TokenReview API实现者 实现者
  • The SubjectAccessReview API实现者

2.1.2 执行

在Kubernetes中最重要的节制器是kubelet,它是Pod和Node API的首要实现者,没有这些API的话,Kubernetes将仅仅只是由键值对存储(后续,API机最终也许会被作为一个独立的项目)支持的一个增编削查的REST应用框架。

Kubernetes默认执行独立的应用容器和当地模式。

Kubernetes提供打点多个容器和存储卷的Pod,Pod在Kubernetes中作为最根基的执行单位。

Kubelet API语义包罗:

The Pod API,Kubernetes执行单位,包罗:

1)、Pod可行性准入节制基于Pod API中的计策(资源哀求、Node选择器、node/pod affinity and anti-affinity, taints and tolerations)。API准入节制可以拒绝Pod或添加特另外调治束缚,但Kubelet才是抉择Pod最终被运行在哪个Node上的抉择者,而不是schedulers or DaemonSets。

2)、容器和存储卷语义和生命周期

3)、Pod IP地点分派(每个Pod要求一个可路由的IP地点)

4)、将Pod毗连至一个特定安详范畴的机制(i.e., ServiceAccount)

5)、存储卷来历:

  • emptyDir
  • hostPath
  • secret
  • configMap
  • downwardAPI
  • NIY:容器和镜像存储卷 (and deprecate gitRepo)
  • NIY:当地存储,对付开拓和出产应用清单不必要伟大的模板或独立设置
  • flexVolume (应该替代内置的cloud-provider-specific存储卷)

6)、子资源:绑定、状态、执行、日记、attach、端口转发、署理

  • NIY:可用性和引导API 资源搜查点

容器镜像和日记生命周期

  • The Secret API,启用第三方加密打点
  • The ConfigMap API,用于组件设置和Pod引用
  • The Node API,Pod的宿主

a、在一些设置中,可以仅仅对集群打点员可见

  • Node和pod收集,业绩它们的节制(路由节制器)
  • Node库存、康健、和可达性(node节制器)

b、Cloud-provider-specific node库存成果应该被分成特定提供者的节制器

  • pod终止垃圾网络
  • 存储卷节制器

c、Cloud-provider-specific attach/detach逻辑应该被分成特定提供者的节制器,必要一种方法从API中提取特定提供者的存储卷来历。

  • The PersistentVolume API

d、NIY:至少被当地存储所支持

  • The PersistentVolumeClaim API

中心化异步成果,诸如由Controller Manager执行的pod终止垃圾网络。

当前,节制过滤器和kubelet挪用“云提供商”接口来扣问来自于基本办法层的信息,并打点基本办法资源。然而,kubernetes正在全力将这些触摸点(题目)提取到外部组件中,不行满意的应用措施/容器/OS级哀求(譬喻,PODS,PersistentVolumeClaims)作为外部“动态供给”体系的信号,这将使基本办法可以或许满意这些哀求,并行使基本办法资源(譬喻,Node、和PersistentVolumes)在Kubernetes举办暗示,这样Kubernetes可以将哀求和基本办法资源绑定在一路。

对付kubelet,它依靠下面的可扩展组件:

  • 镜像注册
  • 容器运行时接话柄现
  • 容器收集接话柄现
  • FlexVolume 实现(”CVI” in the diagram)

以及也许依靠:

  • NIY:第三方加密打点体系(譬喻:Vault)
  • NIY:凭据建设和转换节制器

2.2 应用层:陈设和路由

应用打点和组合层,提供自愈、扩容、应用生命周期打点、处事发明、负载平衡和路由— 也即处事编排和service fabric。这些API和成果是全部Kubernetes分发所必要的,Kubernetes应该提供这些API的默认实现,虽然可以行使更换的实现方案。没有应用层的API,大部门的容器化应用将不能运行。

Kubernetes’s API提供相同IaaS的以容器为中心的基本单位,以及生命周期节制器,以支持全部事变负载的编排(自愈、扩容、更新和终止)。这些应用打点、组合、发明、和路由API和成果包罗:

  • 默认调治,在Pod API中实现调治计策:资源哀求、nodeSelector、node和pod affinity/anti-affinity、taints and tolerations. 调治可以或许作为一个独立的进度在集群内或外运行。

NIY:从头调治器 ,回响和主动删除已调治的POD,以便它们可以被替代并从头布置到其他Node

(编辑:湖南网)

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

热点阅读