CNCF(Cloud Native Computing Foundation)于 2015 年 7 月成立,隶属于 Linux 基金会,初衷围绕“云原生”服务云计算,致力于维护和集成开源技术,支持编排容器化微服务架构应用。
2006 年 8 月 9 日,埃里克·施密特(EricSchmidt)在搜索引擎大会上首次提出了“云计算”(Cloud Computing)的概念。
2013年,Pivotal 的 MattStine 提出了云原生(Cloud Native)的概念,凭借其优良的可伸缩性,云原生应用和服务也越来越受到青睐。
为了统一云计算接口和相关标准,2015 年 7 月隶属于 Linux 基金会的云原生计算基金会(CNCF)应运而生。
基金会自创立以来名下已经管理了多个云端原生技术项目,包括:
– Kubernetes :集群中管理跨多台主机容器化应用的开源系统;
– Prometheus :专注于时间序列数据,为客户端依赖及第三方数据消费提供广泛集成支持的开源监控解决方案;
– OpenTracing:与厂商无关的分布式追踪开源标准;
– Fluentd:创建统一日志层的开源数据收集器。
– Linkerd:为微服务提供可靠性支持、自动化负载均衡、服务发现和运行时可恢复性的开源“服务网格”项目;
– gRPC:现代化高性能开源远程调用框架;
– CoreDNS:快速灵活的构建 DNS 服务器的方案;
– containerd:将容器运行时及其管理功能从 Docker Daemon 剥离的镜像管理和容器执行技术;
– rkt:帮助开发者打包应用和依赖包,简化搭环境等部署工作,提高容器安全性和易用性的容器引擎。
其中广为人知的有 Kubernetes、Prometheus 和目前炙手可热的 gRPC。下面就对这三个明星项目进行介绍。
1)Kubernetes
Kubernetes(经常被缩写成 k8s)前身是 Borg,是 Google 发起并维护的基于 Docker 的开源容器集群管理系统。它构建在 Docker 技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,但它并非一个传统的 Paas,不限制应用运行环境,不区分应用和服务这两个概念,本质上可看作是基于容器技术的 mini-PaaS 平台,因为容器本身就是可移植的,所以 Kubernetes 容器集群也能跑在私有云、公有云或者混合云上面。Kubernetes 属于主从的分布式集群架构,包含 Master 和 Node:Master 作为控制节点,调度管理整个系统;Node 是运行节点,运行业务容器。
2)Prometheus
Prometheus 是一套开源的监控、报警和时间序列数据库的组合,成立于 2012 年,由 SoundCloud 公司开发,此后许多组织接受和采用了 Prometheus,遂将其独立为开源项目。该项目使用 Go 语言开发,社区氛围非常活跃。
截止今年 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 也和诸多语言进行了集成,并可以自动生成特定语言的客户端和服务端接口。
* 本文内容来自互联网。
评论