一、CNCF简介
云原生计算基金会(Cloud Native Computing Foundation,简称 CNCF)是一个成立于 2015 年的非营利性组织,隶属于 Linux 基金会。CNCF 的主要目标是通过开源软件推动云原生计算技术的发展和普及,帮助企业更好地构建和运行可扩展的现代应用程序。
主要目标
-
促进云原生技术发展:CNCF 支持和维护一系列云原生开源项目,涵盖容器编排、服务网格、监控、日志和跟踪等领域,帮助企业在云环境中更高效地运行应用程序。
-
推动行业标准化:通过定义和推广行业标准,确保云原生技术的互操作性和可移植性。
-
建立和壮大社区:通过举办会议、提供培训和认证等方式,建立和壮大云原生技术的开发者和用户社区。
核心项目
CNCF 维护和支持多个关键的开源项目,这些项目已经成为云原生技术领域的行业标准:
-
Kubernetes:一个用于自动化部署、扩展和管理容器化应用程序的开源平台,是云原生应用的核心组件。
-
Prometheus:一个开源的系统监控和警报工具,用于收集和查询监控数据。
-
Envoy:一个高性能的分布式代理,设计用于服务网格和 API 网关场景。
-
Helm:一个 Kubernetes 的包管理工具,用于简化应用程序的部署和管理。
-
Etcd:一个分布式键值存储系统,用于共享配置和服务发现。
-
Jaeger:一个开源的端到端分布式追踪工具,用于监控和故障排除微服务环境中的事务。
-
OpenTelemetry:一个用于收集、处理和导出应用程序和基础设施监控数据的开源框架。
结构和治理
CNCF 由多个委员会和工作组组成,负责不同的任务和职责,包括技术监督委员会(TOC)、治理委员会和项目维护团队。TOC 负责项目的技术方向和策略,确保项目的健康发展和技术领先性。
会员和支持者
CNCF 的会员包括众多行业领先的公司和组织,如 Google、Microsoft、IBM、Amazon、Red Hat 等。这些会员通过资助和参与项目开发,推动云原生技术的发展。
认证和培训
CNCF 提供多种认证和培训计划,以帮助开发者和运维人员掌握云原生技术。例如:
- CKA(Certified Kubernetes Administrator):认证 Kubernetes 管理员。
- CKAD(Certified Kubernetes Application Developer):认证 Kubernetes 应用程序开发人员。
活动和社区
CNCF 组织并赞助多个与云原生技术相关的会议和活动,如 KubeCon + CloudNativeCon。这些活动为开发者和用户提供了一个交流和学习的平台,促进了云原生技术的发展和推广。
总结
CNCF 通过支持和维护一系列关键的开源项目,推动云原生技术的发展和标准化。通过提供认证和培训,建立社区,组织活动等方式,CNCF 在全球范围内推动云原生计算的普及和应用。CNCF 致力于帮助企业在云环境中更高效地构建和运行现代应用程序,从而推动整个行业的技术进步。
二、CNCF全景图
CNCF 全景图(CNCF Landscape)是一个全面展示云原生生态系统中各种项目和工具的图表。它涵盖了各种与云原生计算相关的技术和解决方案,帮助用户了解和选择适合的工具来构建和运行云原生应用。CNCF 全景图由 CNCF 维护和定期更新。
全景图的分类
CNCF 全景图将云原生生态系统中的项目和工具分为多个类别,每个类别下包含不同的子类别和具体的项目。以下是一些主要的分类:
-
平台(Platforms):
- 容器编排(Container Orchestration):如 Kubernetes、Nomad。
- PaaS/CaaS:如 Cloud Foundry、OpenShift。
-
应用定义和开发(App Definition and Development):
- CI/CD:如 Jenkins, GitLab CI/CD, Argo。
- 函数即服务(FaaS):如 OpenFaaS, Kubeless。
-
容器运行时(Container Runtime):
- OCI 兼容容器运行时:如 containerd, CRI-O。
-
编排和管理(Orchestration and Management):
- 服务网格(Service Mesh):如 Istio, Linkerd。
- 调度(Scheduling and Orchestration):如 Kubernetes, Apache Mesos。
-
应用观测与分析(Observability and Analysis):
- 监控(Monitoring):如 Prometheus, Grafana。
- 日志(Logging):如 Fluentd, Logstash。
- 追踪(Tracing):如 Jaeger, OpenTelemetry。
-
服务代理(Service Proxy):
- API 网关(API Gateway):如 Kong, Tyk。
- 代理(Proxy):如 Envoy, HAProxy。
-
存储(Storage):
- 云存储(Cloud Storage):如 MinIO, Ceph。
- 数据库(Database):如 Vitess, TiDB。
-
网络(Networking):
- CNI 插件(CNI Plugins):如 Calico, Cilium。
- 服务发现(Service Discovery):如 Consul, CoreDNS。
-
安全(Security):
- 认证和授权(Authentication and Authorization):如 Keycloak, Dex。
- 安全扫描(Security Scanning):如 Clair, Trivy。
如何访问 CNCF 全景图
你可以通过以下链接访问 CNCF 全景图,查看最新的云原生技术生态系统:
CNCF Landscape
使用指南
- 过滤和搜索:你可以使用全景图上的过滤器和搜索功能,根据你的需求找到特定的项目或工具。
- 类别浏览:点击不同的类别,可以查看该类别下所有相关的项目和工具。
- 详细信息:点击每个项目,可以查看详细信息,包括项目的官方网站、GitHub 仓库、文档等。
重要性
CNCF 全景图是一个非常有价值的资源,它帮助开发者、架构师和决策者了解云原生生态系统中的各种技术选择,并做出明智的决策。通过全景图,可以快速了解当前市场上有哪些成熟的解决方案,以及这些解决方案如何相互关联和组合,以构建一个完整的云原生架构。
总之,CNCF 全景图是了解和探索云原生技术生态系统的一个重要工具,它提供了一个全面的视角,帮助你在复杂的技术领域中导航。
三、CNCF历史演进
CNCF(Cloud Native Computing Foundation)自2015年成立以来,经历了多个重要的里程碑。以下是一些关键事件和发展:
-
2015年:CNCF成立
- 成立:CNCF在2015年7月成立,旨在促进云原生计算技术的普及和标准化。
- 初始成员:包括Google、Microsoft、IBM、Red Hat等公司作为创始成员。
-
2016年:Kubernetes成为CNCF的第一个孵化项目
- Kubernetes:Kubernetes在2016年3月成为CNCF的第一个项目,标志着CNCF开始承担开源项目的托管责任。
-
2017年:Prometheus和Envoy成为孵化项目
- Prometheus:2017年6月,Prometheus成为CNCF的孵化项目。它是一个开源监控和告警工具。
- Envoy:同样在2017年,Envoy也加入CNCF,并成为一个关键的服务网格项目。
-
2018年:CNCF的第一个毕业项目
- Kubernetes毕业:2018年3月,Kubernetes成为CNCF的第一个毕业项目,标志着其在社区中的成熟度和广泛应用。
-
2019年:CNCF项目的增加和发展
- Rook:Rook在2019年6月成为CNCF的孵化项目。Rook是一个云原生存储编排工具。
- Helm:Helm于2019年8月毕业,成为CNCF的第二个毕业项目,主要用于Kubernetes的包管理。
-
2020年:CNCF项目的进一步扩展
- Jaeger:2020年4月,Jaeger成为CNCF的毕业项目。Jaeger是一个开源的分布式追踪系统。
- Vitess:Vitess在2020年12月成为CNCF的孵化项目,主要用于云原生数据库的水平扩展。
-
2021年:更多项目的毕业
- Cortex:Cortex在2021年3月成为CNCF的毕业项目,主要用于云原生的多租户Prometheus服务。
- Tanzu:2021年7月,Tanzu成为CNCF的孵化项目,专注于Kubernetes的应用程序平台。
-
2022年:更多项目的孵化与毕业
- OpenTelemetry:OpenTelemetry在2022年1月成为CNCF的毕业项目,提供统一的分布式追踪、指标和日志采集。
- Keda:Keda在2022年7月成为CNCF的孵化项目,专注于Kubernetes的事件驱动自动伸缩。
-
2023年:持续增长与创新
- CNCF的项目生态继续扩展,涵盖了越来越多的云原生技术和工具,以满足不断变化的市场需求和技术趋势。
这些里程碑展示了CNCF在推动云原生计算技术的发展中的关键作用,也体现了开源社区对这一领域的不断创新和贡献。