CNCF项目简介

CNCF,全称Cloud Native Computing Foundation(云原生计算基金会),口号是 坚持和整合开源技术来编排容器作为微服务架构的一部分 ,其作为致力于云原生应用推广和普及的一支重要力量,不论您是云原生应用的开发者、管理者还是研究人员都有必要了解。

CNCF作为一个厂商中立的基金会,致力于Github上的快速成长的开源技术的推广,如Kubernetes、Prometheus、Envoy等,帮助开发人员更快更好的构建出色的产品。

下图是CNCF的全景图。

其中包含了CNCF中托管的项目,还有很多是非CNCF项目。

关于CNCF的使命与组织方式请参考 CNCF宪章 ,概括的讲CNCF的使命宝库以下三点:

  • 容器化包装。
  • 通过中心编排系统的动态资源管理。
  • 面向微服务。

CNCF这个角色的作用是推广技术,形成社区,开源项目管理与推进生态系统健康发展。

另外CNCF组织由以下部分组成:

  • 会员 :白金、金牌、银牌、最终用户、学术和非赢利成员,不同级别的会员在治理委员会中的投票权不同。
  • 理事会 :负责事务管理
  • TOC(技术监督委员会) :技术管理
  • 最终用户社区 :推动CNCF技术的采纳并选举最终用户技术咨询委员会
  • 最终用户技术咨询委员会 :为最终用户会议或向理事会提供咨询
  • 营销委员会 :市场推广

CNCF项目成熟度分级与毕业条件

每个CNCF项目都需要有个成熟度等级,申请成为CNCF项目的时候需要确定项目的成熟度级别。

成熟度级别(Maturity Level)包括以下三种:

  • inception(初级)
  • incubating(孵化中)
  • graduated(毕业)

是否可以成为CNCF项目需要通过Technical Oversight Committee (技术监督委员会)简称 TOC ,投票采取fallback策略,即 回退策略 ,先从最高级别(graduated)开始,如果2/3多数投票通过的话则确认为该级别,如果没通过的话,则进行下一低级别的投票,如果一直到inception级别都没得到2/3多数投票通过的话,则拒绝其进入CNCF项目。

当前所有的CNCF项目可以访问 https://www.cncf.io/projects/。

项目所达到相应成熟度需要满足的条件和投票机制见下图:

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 是运行节点,运行业务容器。

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 也和诸多语言进行了集成,并可以自动生成特定语言的客户端和服务端接口。

CNCF - 云原生计算基金会简介相关推荐

  1. 云原生计算基金会宣布Envoy毕业

    云原生计算基金会宣布Envoy毕业 Airbnb,eBay,Google,Pinterest,Salesforce等采用快速增长的服务和边缘代理 内华达州拉斯维加斯 - 2018年11月28日 - A ...

  2. 一文带你了解什么是CNCF云原生

    文章目录 一.CNCF简介 CNCF Landscape路线图 CNCF全景图(Landscape) 二.云原生简介 1)容器化(docker+k8s) 2)微服务 3)无服务(Serverless) ...

  3. 开源分布式数据库 TiKV 入选 CNCF 云原生项目!

    云原生计算基金会(CNCF)今天宣布接纳TiKV开源分布式事务键值数据库作为CNCF沙箱的早期发展云原生项目. TiKV采用Rust构建,由Raft(通过etcd)驱动,并受到Google Spann ...

  4. 【云原生】K8s简介之什么是K8s

    文章目录 1.概述 2.什么是容器引擎? 3.什么是容器? 4.什么是容器编排? 5.容器编排工具 6.什么是K8s? 7.为什么市场推荐K8s 8.K8s架构 9.K8s组件 10.为什么需要 k8 ...

  5. 解析华为云全栈PaaS全景图,释放云原生计算大未来

    在云技术堆栈中,最能体现软件能力之一的就是PaaS平台及服务,在2018中国软件百强企业榜单中,华为已经连续十六年获得第一.华为云基于华为软件能力30年经验的积累,自2016年以来华为云企业应用服务就 ...

  6. 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图

    破土而出的生命力,源自理想主义者心底对技术的信念. 云原生技术正席卷全球,云原生基金会在去年KubeCon +CloudNativeCon NA的现场宣布: 其正在孵化的项目已达14个,入驻的厂家或产 ...

  7. 蚂蚁金服 3 个项目进入 CNCF 云原生全景图 | 开源

    2019 年 6 月 25 日,全球知名开源组织云原生计算基金会 CNCF 宣布,蚂蚁金服正式成为 CNCF 黄金会员,蚂蚁金服表示将持续加大对开源项目的支持,包括 Kubernetes,Servic ...

  8. CNCF 云原生容器生态系统概要

    文章目录 1. Cloud(云) 公有云 私有云 2. Provisioning(部署) Host Management / Tooling Infrastructure Automation Con ...

  9. 云原生计算动态周报8.9-8.15

    业界要闻 1. CNCF Cloud Native Survey 2021:第2部分现已开放! 摘要:今年的调查分为两部分,以便更容易.更快捷地填写.第1部分主要介绍云.容器和Kubernetes,而 ...

最新文章

  1. MySQL之alter语句用法总结
  2. ae saber插件_【AE插件】 用于做动画制作/设计的五个免费插件 非常好用
  3. Linux常用基本命令:三剑客命令之-awk输入输出分隔符
  4. oracle的quit命令,Oracle的启动和关闭
  5. 读QT5.7源码(三)Q_OBJECT 和QMetaObject
  6. 成功解决.ReadTimeoutError: HTTPSConnectionPool(host=‘pypi.tuna.tsinghua.edu.cn‘, port=443): Read timed o
  7. tomcat高并发配置
  8. leetcode 149. Max Points on a Line |149. 直线上最多的点数(Java)
  9. c#sort升序还是降序_c# List的sort排序方法详解
  10. promise的状态值_什么是Promise,Promise的三种状态
  11. LeetCode 665 非递减数列
  12. win10想说爱你不容易——安装.net3.5也是一个坑(已有完美解决方法)
  13. android 通知栏样式_Android通知样式
  14. 优秀网页翻译:Raspberry Pi + OpenCV 进行 360° 街景拼接
  15. 微信8年,这几个冷知识你都知道吗?想必知道的人也不多吧
  16. 如何写好 5000 行的 SQL 代码
  17. YepEda Allegro Skill学习版
  18. 【Druid】Druid连接池(二)——配置监控界面
  19. bzoj 2299(裴蜀定理)
  20. 智能电视linux系统安装当贝,三星电视怎样安装当贝应用?

热门文章

  1. mysql inserted表_触发器中的inserted表和deleted表
  2. 一种拼音分词器的JAVA实现
  3. $confirm的自定义使用
  4. 蓝牙耳机无法连接到电脑,计算机蓝牙无法添加外设
  5. 【精讲】2022年PHP中高级面试题(二)
  6. EXCEL-VBA(WORD):将EXCEL中的文字替换到Word中的文字
  7. 2021/12/13 学习笔记:外部表不是预期的格式
  8. vue中使用bootstrapvue
  9. java将svg转jpg_JAVA:SVG到JPG转换器
  10. 研发2人、年赚6亿的敷尔佳,双11疯卖智商税?