BORG

CNCF官方大使张磊:什么是云原生?

人走茶凉 提交于 2019-12-06 10:25:45
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Google、AWS、Azure、Alibaba Cloud 等大型云计算供应商都加入了云原生基金会 CNCF,云原生技术也从原来的应用容器化发展出包括容器、Service Mesh、微服务、不可变基础设施、Serverless、FaaS 等众多技术方向,CFCF 旗下也囊括了越来多的开源项目。 Kubernetes 作为 CNCF 的第一个项目从诞生之初就就令人瞩目,Kubernetes 由 Google 工程师基于 Google 内部多年集群管理系统 Borg 的设计经验,结合云计算时代的基础设施特点重新设计而得,旨在帮助企业解决大规模 IT 基础设施的应用容器编排难题。Google 在 2014 年 6 月开源 Kubernetes 以后,在 Redhat、Microsoft、Alibaba 等厂商和众多开源爱好者共同的努力下,成长为如今容器编排领域的事实标准,极大的推动了云原生领域的发展。 在系统介绍什么是云原生,云原生对开发者来说意味着什么,我们先从云原生技术发展简史开始讲起。 云原生技术发展简史 2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups

CNCF 官方大使张磊:什么是云原生?

[亡魂溺海] 提交于 2019-12-04 20:06:40
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Google、AWS、Azure、Alibaba Cloud 等大型云计算供应商都加入了云原生基金会 CNCF,云原生技术也从原来的应用容器化发展出包括容器、Service Mesh、微服务、不可变基础设施、Serverless、FaaS 等众多技术方向,CFCF 旗下也囊括了越来多的开源项目。 Kubernetes 作为 CNCF 的第一个项目从诞生之初就就令人瞩目,Kubernetes 由 Google 工程师基于 Google 内部多年集群管理系统 Borg 的设计经验,结合云计算时代的基础设施特点重新设计而得,旨在帮助企业解决大规模 IT 基础设施的应用容器编排难题。Google 在 2014 年 6 月开源 Kubernetes 以后,在 Redhat、Microsoft、Alibaba 等厂商和众多开源爱好者共同的努力下,成长为如今容器编排领域的事实标准,极大的推动了云原生领域的发展。 在系统介绍什么是云原生,云原生对开发者来说意味着什么,我们先从云原生技术发展简史开始讲起。 云原生技术发展简史 2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups

CNCF 官方大使张磊:什么是云原生?

☆樱花仙子☆ 提交于 2019-12-04 19:12:57
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Google、AWS、Azure、Alibaba Cloud 等大型云计算供应商都加入了云原生基金会 CNCF,云原生技术也从原来的应用容器化发展出包括容器、Service Mesh、微服务、不可变基础设施、Serverless、FaaS 等众多技术方向,CFCF 旗下也囊括了越来多的开源项目。 Kubernetes 作为 CNCF 的第一个项目从诞生之初就就令人瞩目,Kubernetes 由 Google 工程师基于 Google 内部多年集群管理系统 Borg 的设计经验,结合云计算时代的基础设施特点重新设计而得,旨在帮助企业解决大规模 IT 基础设施的应用容器编排难题。Google 在 2014 年 6 月开源 Kubernetes 以后,在 Redhat、Microsoft、Alibaba 等厂商和众多开源爱好者共同的努力下,成长为如今容器编排领域的事实标准,极大的推动了云原生领域的发展。 在系统介绍什么是云原生,云原生对开发者来说意味着什么,我们先从云原生技术发展简史开始讲起。 云原生技术发展简史 2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups

在Google使用Borg进行大规模集群的管理 7-8

只谈情不闲聊 提交于 2019-12-02 16:15:43
【编者的话】最后两章探讨的是相关工作和改进。从中可以看到从Borg到Kubernetes,他们也做了不少思考,而这方面的工作远远没有完善,一直在进行中。期待大家都能从Google的实践中学到一些东西,并分享出来。 7. 相关工作 资源调度在各个领域已经被研究了数十年了,包括在广域HPC超算集群中,在工作站网络中,在大规模服务器集群中。我们主要聚焦在最相关的大规模服务器集群这个领域。 最近的一些研究分析了集群趋势,来自于Yahoo、Google、和Facebook[20, 52, 63, 68, 70, 80, 82],展现了这些现代的数据中心和工作负载在规模和异构化方面碰到的挑战。[69]包含了这些集群管理架构的分类。 Apache Mesos [45]把资源管理和应用部署做了分离,资源管理由中心管理器(类似于Bormaster+scheduler)和多种类的“框架”比如Hadoop [41]和Spark [73],使用offer-based的机制。Borg则主要把这些几种在一起,使用request-based的机制,可以大规模扩展。DRF [29, 35, 36, 66]策略是内赋在Mesos里的;Borg则使用优先级和配额认证来替代。Mesos开发者已经宣布了他们的雄心壮志:推测性资源分配和回收,然后把[69]里面的问题都解决。 YARN [76]是一个Hadoop中心集群管理

微服务部署 Docker 和 Kubernetes <十七> 译

此生再无相见时 提交于 2019-12-02 14:56:25
Docker 几年前,Docker 以优雅的解决方案来实现不变交付(immutable delivery)。Docker 允许我们将应用程序与它需要的所有依赖包(os、jvm、其他应用程序依赖项等)打包,以轻量级、分层、镜像格式进行打包。使用这些镜像运行实例,这些实例运行在 linux 容器内的应用程序,这些容器具有独立 cpu、内存、网络和磁盘使用。从某种意义上讲,这些容器是应用程序虚拟化或过程虚拟化的形式。他们允许一个进程执行,认为它是运行的唯一方法(例如,ps,您只看到您的应用程序在那里),并且它完全访问cpu、内存、磁盘、网络和其他资源,但现实中它没有,它只能使用它分配的资源。例如,我可以启动一个Docker容器分配cpu,内存段,限制网络io的使用程度。从 linux 容器外部,在主机上,应用程序看起来就像另一个过程。没有虚拟化设备驱动程序、操作系统或网络栈以及特殊的虚拟机监控程序。这只是个过程。这也意味着我们可以获得更多的应用程序,运行在一个单一的硬件上,以提高密度,而无需额外操作系统和其他部分 vm 的开销,这将需要实现类似的隔离质量。 发生的事情也不是革命性的,已构建到linux内核中(并且有一段时间)的名为cgroups、名称空间和chroot 的特性用于创建应用程序虚拟化的外观。linux容器已经运行了10年多了,而且在solaris和freebsd中

在Google使用Borg进行大规模集群的管理 1-2

一笑奈何 提交于 2019-12-01 07:53:32
原作: Abhishek Vermay, Luis Pedrosaz, Madhukar Korupolu, David Oppenheimer, Eric Tune, John Wilkes http://research.google.com/pubs/pub43438.html 译者: 难易 http://my.oschina.net/HardySimpson Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored.For all other uses, contact the owner/author(s). EuroSys’15, April

从零开始入门 K8s| 详解 Pod 及容器设计模式

一曲冷凌霜 提交于 2019-11-30 03:56:51
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 一、为什么需要 Pod 容器的基本概念 我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调度单位,但是为什么我们会需要这样一个概念呢?在使用容器 Docker 的时候,也没有这个说法。其实,如果想要理解 Pod,首先要理解容器,所以来回顾一下容器的概念: 容器的本质实际上是一个进程,是一个视图被隔离,资源受限的进程。 容器里面 PID=1 的进程就是应用本身,这意味着管理虚拟机等于管理基础设施,因为我们是在管理机器,但管理容器却等于直接管理应用本身。这也是之前说过的不可变基础设施的一个最佳体现,这个时候,你的应用就等于你的基础设施,它一定是不可变的。 在以上面的例子为前提的情况下,Kubernetes 又是什么呢?很多人都说 Kubernetes 是云时代的操作系统,这个非常有意思,因为如果以此类推,容器镜像就是这个操作系统的软件安装包,它们之间是这样的一个类比关系。 真实操作系统里的例子 如果说 Kubernetes 就是操作系统的话,那么不妨看一下真实的操作系统的例子。 例子里面有一个程序叫做 Helloworld,这个 Helloworld 程序实际上是由一组进程组成的,需要注意一下,这里说的进程实际上等同于 Linux 中的线程。 因为 Linux 中的线程是轻量级进程

从零开始入门 K8s| 详解 Pod 及容器设计模式

限于喜欢 提交于 2019-11-30 03:26:07
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 一、为什么需要 Pod 容器的基本概念 <br />我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调度单位,但是为什么我们会需要这样一个概念呢?在使用容器 Docker 的时候,也没有这个说法。其实,如果想要理解 Pod,首先要理解容器,所以来回顾一下容器的概念:<br /> <br /> 容器的本质实际上是一个进程,是一个视图被隔离,资源受限的进程。 <br /> <br />容器里面 PID=1 的进程就是应用本身,这意味着管理虚拟机等于管理基础设施,因为我们是在管理机器,但管理容器却等于直接管理应用本身。这也是之前说过的不可变基础设施的一个最佳体现,这个时候,你的应用就等于你的基础设施,它一定是不可变的。<br /> <br />在以上面的例子为前提的情况下,Kubernetes 又是什么呢?很多人都说 Kubernetes 是云时代的操作系统,这个非常有意思,因为如果以此类推,容器镜像就是这个操作系统的软件安装包,它们之间是这样的一个类比关系。<br /> 真实操作系统里的例子 如果说 Kubernetes 就是操作系统的话,那么不妨看一下真实的操作系统的例子。<br /> <br />例子里面有一个程序叫做 Helloworld,这个 Helloworld

Kubernetes 入门必备云原生发展简史

痞子三分冷 提交于 2019-11-29 08:57:58
作者|张磊 阿里云容器平台高级技术专家,CNCF官方大使 “未来的软件一定是生长于云上的”这是云原生理念的最核心假设。而所谓“云原生”,实际上就是在定义一条能够让应用最大程度利用云的能力、发挥云的价值的最佳路径。在这条路径上,脱离了“应用”这个载体,“云原生”就无从谈起;容器技术,则是将这个理念落地、将软件交付的革命持续进行下去的重要手段之一。 云原生技术发展简史 2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups 这样的容器技术; 2008 年,Google 将 Cgroups 合并进入了 Linux 内核主干; 2013 年,Docker 项目正式发布。 2014 年,Kubernetes 项目也正式发布。这样的原因也非常容易理解,因为有了容器和 Docker 之后,就需要有一种方式去帮助大家方便、快速、优雅地管理这些容器,这就是 Kubernetes 项目的初衷。在 Google 和 Redhat 发布了 Kubernetes 之后,这个项目的发展速度非常之快。 2015 年,由Google、Redhat 以及微软等大型云计算厂商以及一些开源公司共同牵头成立了 CNCF 云原生基金会。CNCF 成立之初,就有 22 个创始会员,而且 Kubernetes 也成为了 CNCF 托管的第一个开源项目。在这之后,CNCF 的发展速度非常迅猛;

Kubernetes 入门必备云原生发展简史

匆匆过客 提交于 2019-11-29 07:31:34
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 “未来的软件一定是生长于云上的”这是云原生理念的最核心假设。而所谓“云原生”,实际上就是在定义一条能够让应用最大程度利用云的能力、发挥云的价值的最佳路径。在这条路径上,脱离了“应用”这个载体,“云原生”就无从谈起;容器技术,则是将这个理念落地、将软件交付的革命持续进行下去的重要手段之一。 云原生技术发展简史 2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups 这样的容器技术; 2008 年,Google 将 Cgroups 合并进入了 Linux 内核主干; 2013 年,Docker 项目正式发布。 2014 年,Kubernetes 项目也正式发布。这样的原因也非常容易理解,因为有了容器和 Docker 之后,就需要有一种方式去帮助大家方便、快速、优雅地管理这些容器,这就是 Kubernetes 项目的初衷。在 Google 和 Redhat 发布了 Kubernetes 之后,这个项目的发展速度非常之快。 2015 年,由Google、Redhat 以及微软等大型云计算厂商以及一些开源公司共同牵头成立了 CNCF 云原生基金会。CNCF 成立之初,就有 22 个创始会员,而且 Kubernetes 也成为了 CNCF 托管的第一个开源项目。在这之后,CNCF 的发展速度非常迅猛;