Kubernetes 设计概览及详细设计

标签: 设计 kubernetes
90人阅读 评论(0) 收藏 举报
分类:

Kubernetes 设计概述(Kubernetes Design Overview)

原文:Kubernetes Design Overview

Kubernetes 是一个设计为跨多个主机的,容器化应用的系统,为应用提供部署,维护和扩展的基本机制。

Kubernetes 建立了健壮性比较强的声明式原语来维持用户所需的状态。我们将这些原始镜像作为Kubernetes提供的主要价值。例如自动重启,重新调度和复制容器之类的自我修复机制,这不仅仅需要协调,还需要主动的控制器。

Kubernetes 主要针对由多个容器组成的应用程序,例如弹性分布式为服务。它也被设计为便于将非容器化应用集迁移到 Kubernetes中。因此,它包括了将松散耦合和紧密耦合的容器分组的抽象(Pod),并且提供容器能够使用熟悉的方式找到彼此以及通信的方式(同一个Pod使用相同的网络栈)。

Kubernetes 使用户能够让集群运行一组容器(Pod)。系统自动选择主机来运行这些容器。虽然 Kubernetes的调度程序目前非常简单,但我们预计它会随着时间的推移逐渐复杂化。调度是一项策略丰富的拓扑感知的工作负载的特定功能,可显著地影响着可用性,性能和容量。调度器需要考虑个人和集体资源的需求,服务质量要求,硬件、软件、政策约束,亲和力和反亲和力规范,数据位置,工作负载均衡间的k干扰,截至日期等。必要时,工作负载特定的要求将通过 API 公开。

Kubernetes 旨在运行在许多云提供商以及物理主机上。

单个 Kubernetes 集群不打算跨越多个可用区域。相反,我们建议构建更高级别的层来复制跨多个区域的高可用性应用程序的完整部署(有关更多详细信息,可参阅多集群文档集群联邦的提案)。

最后,Kubernetes 立志成为一个可扩展,可插拔的构建模块的 OSS 平台和工具包。因此,在架构上,我们希望 Kubernetes 能够作为可插拔的组件和层的集合来构建,并且能够使用替代的调度程序,控制器,存储系统和分发机制,并且我们正朝着这个方向发展。此外,我们希望其他人能够扩展 Kubernetes 的功能,例如具有更高级别的 PaaS 功能或多集群层,而无需修改核心 Kubernetes 源。因此,其 API 不仅仅是(或者甚至主要)针对最终用户,而是针对工具和扩展开发人员。它的 API 旨在作为工具,自动化系统和更高级别 API 层的开放式生态系统的基础。因此,没有 “内部” 组件间 API。所有的 API 都是可见和可用的,包括调度器,节点控制器,复制控制器、管理器,kubelet 的 API 等使用的 API。并没有打破透明性 - 为了处理更复杂的情况,可以访问完全透明,以可组合的方式的使用较低级别的 API。

有关 Kubernetes 架构的更多信息,请参考架构

Kubernetes 架构(Kubernetes architecture)

原文: Kubernetes architecture

正在运行的 Kubernetes 集群在分布式存储解决方案的顶部包含节点代理(kubelet)和主要组件(API,调度程序等)。这张图显示了我们期望的最终状态,尽管我们仍在努力地做一些事情,比如让 kubelet 本身(我们所有的组件都是真正的)在容器中运行,并使调度器 100% 可插拔。

Kubernetes Node 节点(The Kubernetes Node)

在查看系统的体系结构时,我们将其分解为在工作节点上运行的服务以及组成集群级别控制平面的系统。

Kubernetes 节点具有运行应用程序容器所需的服务,并可从主系统进行管理。

当然,当每个节点都运行Docker。Docker负责下载镜像和运行维护容器。

kubelet

kubelet 管理 Pod,及其容器,镜像,存储卷等。

kube-proxy

查看评论

软件工程系列- 详细设计

目录 概述 过程设计工具 过程设计中程序复杂度的度量 概述详细设计阶段是逻辑上将系统的每个功能都设计出来,并保证设计出的处理过程应该尽可能的简明易懂。 结构化程序设计 定义: 如果一个程序的代码块仅...
  • duandianR
  • duandianR
  • 2016-06-22 16:27:19
  • 2881

概要设计和详细设计的区别

概要设计与详细设计的区别      概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要...
  • wang15061955806
  • wang15061955806
  • 2015-12-16 20:36:28
  • 9540

用户管理模块详细设计文档

  • 2007年11月13日 10:08
  • 7.12MB
  • 下载

应该如何写详细设计文档

下面讨论如何写出一个符合要求、实用的详细设计文档。 一、        首 先是文档的内容,根据项目和团队的不同,详细设计文档的内容也有所不同,一般说来,粒度不宜过细,不能代替开发人员的设计和思考...
  • xiaoxiaoxuewen
  • xiaoxiaoxuewen
  • 2015-03-11 22:55:56
  • 2251

概要设计、详细设计:概念、方法、实践步骤

完整软件开发流程: 需求分析、概要设计、详细设计 一 1.  概念、方法、实践步骤 设计是指根据需求开发的结果,对产品的技术实现由粗到细进行设计的过程。根据设计粒度和目的的不同可以将设...
  • u010098331
  • u010098331
  • 2016-05-13 15:17:42
  • 5575

java开发详细设计文档模板

  • 2009年12月15日 23:42
  • 45KB
  • 下载

CMMI3详细设计模板

  • 2009年04月28日 17:00
  • 446KB
  • 下载

详细设计说明书样例 带UML图

  • 2012年06月13日 10:22
  • 3.9MB
  • 下载

web项目详细设计文档

  • 2015年10月09日 11:47
  • 1.38MB
  • 下载
    个人资料
    等级:
    访问量: 483
    积分: 174
    排名: 107万+
    文章存档