前言:CNCF(Cloud Native Computing Foundation)于 2015 年 7 月成立,隶属于 Linux 基金会,初衷围绕“云原生”服务云计算,致力于维护和集成开源技术,支持编排容器化微服务架构应用。本文将为您解读 CNCF 成立的背景、目标及具体的项目内容。

CNCF 的背景和目标?

CNCF 关注于容器如何管理而不是如何创建

早在 2006 年 8 月 9 日,埃里克·施密特(EricSchmidt)在搜索引擎大会上首次提出了“云计算”(Cloud Computing)的概念。一转眼十年过去了,它的发展势如破竹,不断渗透当代的 IT 市场。

CNCF 有哪些具体的项目内容?-LMLPHP

云计算被视为继 80 年代大型计算机客户端-服务器的大转变之后的又一次革命,为我们带来了工作方式和商业模式的根本性改变,进而成为推动企业创新的引擎。2013年,Pivotal 的 MattStine 提出了云原生(Cloud Native)的概念,凭借其优良的可伸缩性,云原生应用和服务也越来越受到青睐。

为了统一云计算接口和相关标准,2015 年 7 月隶属于 Linux 基金会的云原生计算基金会(CNCF)应运而生。谈到 CNCF,首先它是一个非营利组织,致力于通过技术优势和用户价值创造一套新的通用容器技术,推动本土云计算和服务的发展。CNCF 关注于容器如何管理而不是如何创建,因为如果没有一个成熟的平台去管理容器,那么大型企业无法真正放心接受并使用容器。

CNCF 有哪些具体的项目内容?

CNCF 包含的明星项目有 Kubernetes、Prometheus 和目前炙手可热的 gRPC

CNCF 计划为支持分布式、可扩展的应用需要的组件和组装方式提出一种规范,期望定义能够支持云原生应用和容器的整个基础设施堆栈。为了真正理解 CNCF 的既定目标,我们还需要了解它旗下的项目内容。

正如基金会目标中所描述的任务、角色以及价值观,基金会自创立以来名下已经管理了多个云端原生技术项目,包括:

– Kubernetes :集群中管理跨多台主机容器化应用的开源系统;

– Prometheus :专注于时间序列数据,为客户端依赖及第三方数据消费提供广泛集成支持的开源监控解决方案;

– OpenTracing:与厂商无关的分布式追踪开源标准;

– Fluentd:创建统一日志层的开源数据收集器。

另外,2017 开年以来基金会新接纳了五个项目:

Linkerd:为微服务提供可靠性支持、自动化负载均衡、服务发现和运行时可恢复性的开源“服务网格”项目;

gRPC:现代化高性能开源远程调用框架;

– CoreDNS:快速灵活的构建 DNS 服务器的方案;

containerd:将容器运行时及其管理功能从 Docker Daemon 剥离的镜像管理和容器执行技术;

rkt:帮助开发者打包应用和依赖包,简化搭环境等部署工作,提高容器安全性和易用性的容器引擎。

CNCF 包含的明星项目如此之多,其中广为人知的有 Kubernetes、Prometheus 和目前炙手可热的 gRPC。

1)Kubernetes

Kubernetes(经常被缩写成 k8s)前身是 Borg,是 Google 发起并维护的基于 Docker 的开源容器集群管理系统。它构建在 Docker 技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,但它并非一个传统的 Paas,不限制应用运行环境,不区分应用和服务这两个概念,本质上可看作是基于容器技术的 mini-PaaS 平台,因为容器本身就是可移植的,所以 Kubernetes 容器集群也能跑在私有云、公有云或者混合云上面。Kubernetes 属于主从的分布式集群架构,包含 Master 和 Node:Master 作为控制节点,调度管理整个系统;Node 是运行节点,运行业务容器。

CNCF 有哪些具体的项目内容?-LMLPHP

2)Prometheus

Prometheus 是一套开源的监控、报警和时间序列数据库的组合,成立于 2012 年,由 SoundCloud 公司开发,此后许多组织接受和采用了 Prometheus,遂将其独立为开源项目。该项目使用 Go 语言开发,社区氛围非常活跃。

CNCF 有哪些具体的项目内容?-LMLPHP

截止今年 1 月,该项目已经拥有超过 200 个贡献者。作为一个可供现代平台选择的新兴监控工具,Prometheus 能够监控 Mesos、Docker、OpenStack 等等平台的应用程序。2016 年,Prometheus 加入了 CNCF 并成为了第二个托管项目,项目的创始人希望通过 CNCF,进一步推进 Prometheus 的推广和使用,并通过组织活动的方式让社区团结在一起。

3)gRPC

gRPC 是一个现代化高性能开源远程过程调用(RPC)框架。CoreOS 的分布式键值存储 etcd 就使用了 gRPC 进行点对点通讯,Docker 的便携式容器运行时 containerd 也通过 gRPC 暴露其功能,同时 containerd 本身也被捐献给了 CNCF。在 gRPC 中可以使用 Protocol Buffers 来定义服务的接口,Protocol Buffers 是一个强大的二进制序列化工具和语言。gRPC 也和诸多语言进行了集成,并可以自动生成特定语言的客户端和服务端接口。

CNCF 有哪些具体的项目内容?-LMLPHP

05-11 11:07