云端原生计算基金会(CNCF)名下新增 Linkerd,gRPC 与 CoreDNS

  • Daniel Bryant
  • 周元昊

2017 年 3 月 28 日

话题:云计算DevOps语言 & 开发

自 2017 年开年以来,致力于推进云端本地服务开发的开源基金会 CNCF(Cloud Native Computing Foundation,云端原生计算基金会)名下新增管理了三个项目,它们分别是:提供服务发现、错误处理及服务可见性的透明代理服务网格 Linkerd,跨语言高性能的 RPC 框架 gRPC 以及快速且可配置的云端原生 DNS 服务器 CoreDNS。

CNCF是一个开源Linux 基金会,它致力于推进云端原生应用和服务的开发。在 CNCF 的纲领中描述了云端原生系统应该包含的属性:基于容器的打包,即在软件容器中运行应用和进程,并以隔离单元的形式进行应用部署;动态管理,即通过一个中央管理进程对各个组件进行动态调度及管理;微服务导向,使用低耦合的服务,并通过服务端点等显示地描述其中所需的依赖。

正如纲领中所描述的任务、角色以及价值观,CNCF 名下已经管理了多个云端原生技术项目,包括最初的谷歌容器管理调度平台Kubernetes。自基金会创立以来,它还收纳了:专注于时间序列数据、灵活查询以及为客户端依赖及第三方数据消费提供广泛集成选项的开源监控解决方案,Prometheus;对厂商无关的分布式追踪开源标准,OpenTracing;用于创建统一日志层的开源数据收集器,Fluentd。从 2017 年开年以来基金会又新接纳了三个处于不同发展进度的项目:Linkerd(起步期),gRPC 和 CoreDNS(起步期)。

Linkerd是一个提供弹性云端原生应用服务网格的开源项目。其核心是一个透明代理,可以用它来实现一个专用的基础设施层以提供服务间的通讯,进而为软件应用提供服务发现、路由、错误处理以及服务可见性等功能,而无需侵入应用内部本身的实现。Linkerd 是由 Buoyant 的创立者 William Morgan 和 Oliver Gould 于 2015 年创建的,它的原型是 Twitter 所构建的一个基于 scala 的可扩展 RPC 系统Finagle

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

CoreDNS的前身是SkyDNS,它的主要目的是构建一个快速灵活的 DNS 服务器,让用户可以通过不同方式访问和使用 DNS 内的数据。它被设计为Caddy 网络服务的一个服务器插件。CoreDNS 的每个特性都可以被实现为可插拔的中间件,如,日志、基于文件的 DNS 以及多种后端技术,进而可以拼接多个插件来创建定制化的管道。CoreDNS 已经得到扩展,可以直接被 Kubernetes 访问服务数据,并以KubeDNS的形式提供给用户使用。

CNCF项目的额外信息可以在基金会网站查看。CNCF 还将在 2017 年 3 月 29-30 日于德国柏林举办CloudNativeCon和 KubeCon。

查看英文原文:Cloud Native Computing Foundation (CNCF) Adds Linkerd, gRPC, and CoreDNS to Growing Portfolio

云计算DevOps语言 & 开发