kubernetes中文手册
  • 前言
    • 序言
  • 云原生
    • 云原生(Cloud Native)的定义
    • 云原生的设计哲学
    • Kubernetes 的诞生
    • Kubernetes 与云原生应用概览
    • 云原生应用之路 —— 从 Kubernetes 到云原生
    • 定义云原生应用
      • OAM
        • Workload
        • Component
        • Trait
        • Application Scope
        • Application Configuration
      • Crossplane
    • 云原生编程语言
      • 云原生编程语言 Ballerina
      • 云原生编程语言 Pulumi
    • 云原生的未来
  • 快速入门
    • 云原生新手入门指南
    • Play with Kubernetes
    • 快速部署一个云原生本地实验环境
    • 使用 Rancher 在阿里云上部署 Kubenretes 集群
  • 概念与原理
    • Kubernetes 架构
      • 设计理念
      • Etcd 解析
      • 开放接口
        • CRI - Container Runtime Interface(容器运行时接口)
        • CNI - Container Network Interface(容器网络接口)
        • CSI - Container Storage Interface(容器存储接口)
      • 资源对象与基本概念解析
    • Pod 状态与生命周期管理
      • Pod 概览
      • Pod 解析
      • Init 容器
      • Pause 容器
      • Pod 安全策略
      • Pod 的生命周期
      • Pod Hook
      • Pod Preset
      • Pod 中断与 PDB(Pod 中断预算)
    • 集群资源管理
      • Node
      • Namespace
      • Label
      • Annotation
      • Taint 和 Toleration(污点和容忍)
      • 垃圾收集
    • 控制器
      • Deployment
      • StatefulSet
      • DaemonSet
      • ReplicationController 和 ReplicaSet
      • Job
      • CronJob
      • Horizontal Pod Autoscaling
        • 自定义指标 HPA
      • 准入控制器(Admission Controller)
    • 服务发现与路由
      • Service
      • 拓扑感知路由
      • Ingress
        • Traefik Ingress Controller
      • Kubernetes Service API
        • Service API 简介
    • 身份与权限控制
      • ServiceAccount
      • 基于角色的访问控制(RBAC)
      • NetworkPolicy
    • 网络
      • Kubernetes 中的网络解析 —— 以 flannel 为例
      • Kubernetes 中的网络解析 —— 以 calico 为例
      • 具备 API 感知的网络和安全性管理开源软件 Cilium
        • Cilium 架构设计与概念解析
    • 存储
      • Secret
      • ConfigMap
        • ConfigMap 的热更新
      • Volume
      • 持久化卷(Persistent Volume)
      • Storage Class
      • 本地持久化存储
    • 集群扩展
      • 使用自定义资源扩展 API
      • 使用 CRD 扩展 Kubernetes API
      • Aggregated API Server
      • APIService
      • Service Catalog
    • 多集群管理
      • 多集群服务 API(Multi-Cluster Services API)
      • 集群联邦(Cluster Federation)
    • 资源调度
      • 服务质量等级(QoS)
  • 用户指南
    • 用户指南概览
    • 资源对象配置
      • 配置 Pod 的 liveness 和 readiness 探针
      • 配置 Pod 的 Service Account
      • Secret 配置
      • 管理 namespace 中的资源配额
    • 命令使用
      • Docker 用户过渡到 kubectl 命令行指南
      • kubectl 命令概览
      • kubectl 命令技巧大全
      • 使用 etcdctl 访问 Kubernetes 数据
    • 集群安全性管理
      • 管理集群中的 TLS
      • kubelet 的认证授权
      • TLS Bootstrap
      • 创建用户认证授权的 kubeconfig 文件
      • IP 伪装代理
      • 使用 kubeconfig 或 token 进行用户身份认证
      • Kubernetes 中的用户与身份认证授权
      • Kubernetes 集群安全性配置最佳实践
    • 访问 Kubernetes 集群
      • 访问集群
      • 使用 kubeconfig 文件配置跨集群认证
      • 通过端口转发访问集群中的应用程序
      • 使用 service 访问群集中的应用程序
      • 从外部访问 Kubernetes 中的 Pod
      • Cabin - Kubernetes 手机客户端
      • Lens - Kubernetes IDE/桌面客户端
      • Kubernator - 更底层的 Kubernetes UI
    • 在 Kubernetes 中开发部署应用
      • 适用于 Kubernetes 的应用开发部署流程
      • 迁移传统应用到 Kubernetes 中 —— 以 Hadoop YARN 为例
      • 使用 StatefulSet 部署用状态应用
  • 最佳实践
    • 最佳实践概览
    • 在 CentOS 上部署 Kubernetes 集群
      • 创建 TLS 证书和秘钥
      • 创建 kubeconfig 文件
      • 创建高可用 etcd 集群
      • 安装 kubectl 命令行工具
      • 部署 master 节点
      • 安装 flannel 网络插件
      • 部署 node 节点
      • 安装 kubedns 插件
      • 安装 dashboard 插件
      • 安装 heapster 插件
      • 安装 EFK 插件
    • 生产级的 Kubernetes 简化管理工具 kubeadm
      • 使用 kubeadm 在 Ubuntu Server 16.04 上快速构建测试集群
    • 服务发现与负载均衡
      • 安装 Traefik ingress
      • 分布式负载测试
      • 网络和集群性能测试
      • 边缘节点配置
      • 安装 Nginx ingress
      • 安装配置 DNS
        • 安装配置 Kube-dns
        • 安装配置 CoreDNS
    • 运维管理
      • Master 节点高可用
      • 服务滚动升级
      • 应用日志收集
      • 配置最佳实践
      • 集群及应用监控
      • 数据持久化问题
      • 管理容器的计算资源
    • 存储管理
      • GlusterFS
        • 使用 GlusterFS 做持久化存储
        • 使用 Heketi 作为 Kubernetes 的持久存储 GlusterFS 的 external provisioner
        • 在 OpenShift 中使用 GlusterFS 做持久化存储
      • GlusterD-2.0
      • Ceph
        • 用 Helm 托管安装 Ceph 集群并提供后端存储
        • 使用 Ceph 做持久化存储
        • 使用 rbd-provisioner 提供 rbd 持久化存储
      • OpenEBS
        • 使用 OpenEBS 做持久化存储
      • Rook
      • NFS
        • 利用 NFS 动态提供 Kubernetes 后端存储卷
    • 集群与应用监控
      • Heapster
        • 使用 Heapster 获取集群和对象的 metric 数据
      • Prometheus
        • 使用 Prometheus 监控 Kubernetes 集群
        • Prometheus 查询语言 PromQL 使用说明
      • 使用 Vistio 监控 Istio 服务网格中的流量
    • 分布式追踪
      • OpenTracing
    • 服务编排管理
      • 使用 Helm 管理 Kubernetes 应用
      • 构建私有 Chart 仓库
    • 持续集成与发布
      • 使用 Jenkins 进行持续集成与发布
      • 使用 Drone 进行持续集成与发布
    • 更新与升级
      • 手动升级 Kubernetes 集群
      • 升级 dashboard
    • 扩展控制器
      • OpenKruise
        • 原地升级
    • 安全策略
      • 开放策略代理(OPA)
      • 云原生安全
  • 服务网格
    • 服务网格(Service Mesh)
    • 企业级服务网格架构
      • 服务网格基础
      • 服务网格技术对比
      • 服务网格对比 API 网关
      • 采纳和演进
      • 定制和集成
      • 总结
    • Istio
      • 使用 Istio 前需要考虑的问题
      • Istio 中 sidecar 的注入规范及示例
      • 如何参与 Istio 社区及注意事项
      • Istio 免费学习资源汇总
      • Sidecar 的注入与流量劫持
      • Envoy Sidecar 代理的路由转发
      • Istio 如何支持虚拟机
      • Istio 支持虚拟机的历史
    • Envoy
      • Envoy 的架构与基本术语
      • Envoy 作为前端代理
      • Envoy mesh 教程
  • 领域应用
    • 领域应用概览
    • 微服务架构
      • 微服务中的服务发现
      • 使用 Java 构建微服务并发布到 Kubernetes 平台
        • Spring Boot 快速开始指南
    • 大数据
      • Spark 与 Kubernetes
        • Spark standalone on Kubernetes
        • 运行支持 Kubernetes 原生调度的 Spark 程序
    • Serverless 架构
      • 理解 Serverless
      • FaaS(函数即服务)
        • OpenFaaS 快速入门指南
      • Knative
    • 边缘计算
    • 人工智能
    • 可观察性
  • 开发指南
    • 开发指南概览
    • SIG 和工作组
    • 开发环境搭建
      • 本地分布式开发环境搭建(使用 Vagrant 和 Virtualbox)
    • 单元测试和集成测试
    • client-go 示例
      • client-go 中的 informer 源码分析
    • Operator
      • operator-sdk
    • kubebuilder
      • 使用 kubebuilder 创建 operator 示例
    • 高级开发指南
    • 社区贡献
    • Minikube
  • 社区及生态
    • 云原生计算基金会(CNCF)
      • CNCF 章程
      • CNCF 特别兴趣小组(SIG)说明
      • 开源项目加入 CNCF Sandbox 的要求
      • CNCF 中的项目治理
      • CNCF Ambassador
    • 认证及培训
      • 认证 Kubernetes 服务提供商(KCSP)说明
      • 认证 Kubernetes 管理员(CKA)说明
  • 附录
    • 附录说明
    • Kubernetes 中的应用故障排查
    • Kubernetes 相关资讯和情报链接
    • Docker 最佳实践
    • Kubernetes 使用技巧
    • Kubernetes 相关问题记录
    • Kubernetes 及云原生年度总结及展望
      • Kubernetes 与云原生 2017 年年终总结及 2018 年展望
      • Kubernetes 与云原生 2018 年年终总结及 2019 年展望
    • CNCF 年度报告解读
      • CNCF 2018 年年度报告解读
      • CNCF 2020 年年度报告解读
由 GitBook 提供支持
在本页
  • CNCF 年度报告涵盖的范围
  • CNCF 的定位
  • CNCF 的2017年度定位
  • CNCF 的2018年度定位
  • 数读报告
  • CNCF 会员
  • 成为 CNCF 会员的好处
  • 项目成熟度等级
  • Certified Kubernetes Service Provider
  • Certified Kubernetes offering
  • 展望 2019
  • 参考
  1. 附录
  2. CNCF 年度报告解读

CNCF 2018 年年度报告解读

上一页CNCF 年度报告解读下一页CNCF 2020 年年度报告解读

最后更新于3年前

2019年2月初,CNCF 发布了2018年的年度报告,这是 CNCF 继2017年度报告之后,第二次发布年度报告,2017年度的报告只有区区14页,今年的报告长度增长了一倍达31页。下面我将带大家一起来深度解读下这份2018年的年度报告,一窥 CNCF 过去一年里在推广云原生的道路上取得的进展。

注:本文最后附上了2017年和2018年度的报告下载地址。

CNCF 年度报告涵盖的范围

在解读 CNCF 的2018年度报告之前,我们先简单回顾下2017年度的报告,因为2017年度报告是 CNCF 的首份年度报告,这样我们也能更好的了解 CNCF 的来龙去脉。

2017年度报告已经基本确定了 CNCF 每个年度报告所包含的主题:

  • 自我定位

  • 会员参与情况

  • 终端用户社区

  • 项目更新

  • 会议和活动

  • 社区

  • 培训和认证

以上为 CNCF 主要的市场活动,2017年时其成立的第二年,经过一年时间的筹备,这一年里各种市场活动都已经开始确立并有声有色的开展了起来,包括 KubeCon、成员单位、终端用户都已经发展起来了,以后历年里只是对其不断的发展和完善。

2018年度报告中又新增了一些主题,这些主题是从2018年开始开展的,包括:

  • 项目更新与满意度调查

    • 给 CNCF 项目的维护者发调查问卷询问满意度

    • 的修订(2018年11月)

    • 项目更新与发布

    • 项目服务与支援

    • 专项活动、文档、网站与博客支持

    • 本地化、IT 支持和培训

  • 社区拓展

    • 社区奖项

    • CNCF Meetup

    • 卡通吉祥物 Phippy

  • 生态系统工具

    • 和路线图

    • 项目 logo 物料

  • 测试一致性项目

  • 国际化

    • 进入中国

    • 本地化网站

详情请大家从本文最后的链接下载报告原文以查看详情。

CNCF 的定位

CNCF(云原生计算基金会)成立于2015年12月11日,每届年度报告的开篇都会阐明 CNCF 的定位,CNCF 的自我定位在2018年发生了一次变动,这也说明基金会是跟随市场形势而动,其定位不是一成不变的,其中的变化暗含着 CNCF 战略的转变。

CNCF 的2017年度定位

2017年度报告中是这样正式介绍自己的:

The Cloud Native Computing Foundation (CNCF) is an open source software foundation dedicated to making cloud-native computing universal and sustainable. Cloud-native computing uses an open source software stack to deploy applications as microservices, packaging each part into its own container, and dynamically orchestrating those containers to optimize resource utilization. Cloud-native technologies enable software developers to build great products faster.

We are a community of open source projects, including Kubernetes, Envoy and Prometheus. Kubernetes and other CNCF projects are some of the highest velocity projects in the history of open source.

可以看到介绍中的重点技术是:微服务、容器、动态编排。而在2018年 CNCF 对自己进行了重新的定位和包装,增加了新的内容。

CNCF 的2018年度定位

The Cloud Native Computing Foundation (CNCF) is an open source software foundation dedicated to making cloud native computing universal and sustainable. Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

We are a community of open source projects, including Kubernetes, Prometheus, Envoy, and many others. Kubernetes and other CNCF projects are some of the highest velocity projects in the history of open source.

我们可以看到其表述中更加注重多云环境,主要涉及的技术比2017年多了Service Mesh(服务网格)、不可变基础设施和声明式 API。

数读报告

CNCF 年度报告的原文主要是汇报了 CNCF 一年来的所展开的活动和进展,下表示根据 CNCF 2017和2018年度报告整理了关键数据。

Year

2016

2017

2018

Members

63

170

365

Contributors

-

18687

47358

CNCF Meetup Members

-

53925

89112

Projects

4

14

32

End User Community Members

-

32

69

Conference and Events Participants

-

4085

-

Certified Kubernetes Partners

-

44

-

Certified Kubernetes Service Providers

-

28

74

CNCF Ambassador

-

-

65

Kubernetes Training Partners

-

-

18

注:其中2016年是 CNCF 正式开始工作的第一年,大部分数据因为活动尚未开展而缺失。

2018 年 CNCF 又推出了一系列新的认证(CKA 为2017年推出),包括:

以上是 CNCF 提供的主要证书,一般通过 KCSP 的企业都要先通过 Kubernetes 一致性认证,而通过 Kubernetes 一致性认证不一定要同时通过 KCSP,所以我们看到很多通过 Kubernetes 一致性认证的企业就不一定会通过 KCSP,因为 KCSP 的要求更多,至少要成为 CNCF 会员才可以。

下面将就 CNCF 会员、托管项目的成熟度等级划分、Kubernetes 服务提供商认证和 Kubernetes 提供商认证做详细说明。

CNCF 会员

2018年 CNCF 的会员单位经历了爆发式增长,从170家增长到365家。CNCF 制定了如下的会员等级:

  • Silver Member

  • Gold Member

  • Platinum Member

  • Academic/Nonprofit Member

  • End User Member

成为 CNCF 会员的好处

成为 CNCF 会员包括但不限于如下好处:

  • 将可以参与 CNCF 市场委员会、CNCF Webinar、在 CNCF 和 Kubernetes 官网发表博客、博客被 KubeWeekly 收录、

  • 获得 KubeCon + CloudNativeCon 的门票折扣和参与大会的市场活动

  • 对于 Kubernetes 系列认证如 KCSP、入选 TOC 也要求必须成为 CNCF 会员才可以获得

  • End User Case Study

  • 有机会加入 Ambassador 计划

  • 在社区里具有更多的话语权,例如 CNCF 在全球范围内组织的活动

项目成熟度等级

根据《Crossing the Chasm》一书中的技术采用生命周期理论,CNCF 将其托管的项目划分为三个等级:

  • Incubating:对应于早期采用者阶段。截止到本文发稿时有 16 个项目。

  • Sandbox:对应于创新者阶段。截止到本文发稿时有 12 个项目。

查看 CNCF 托管的项目列表请访问:https://www.cncf.io/projects/

Certified Kubernetes Service Provider

如何通过 KCSP

要想通过 KCSP 必须满足以下三个条件:

  • 三名或更多工程师通过认证Kubernetes管理员(CKA)考试。(CKAD考试不计入此要求)

  • 支持企业最终用户的商业模式,包括为客户提供驻场工程师

  • 成为 CNCF 会员

通过 KCSP 有如下好处:

  • 参加与云原生项目 leader、TOC 成员、CNCF Governing Board 的月度会议

  • 向终端用户的 leader 寻求帮助

因为有如上这些好处,为了获得 Kubernetes 项目实施的资质,同时保持与基金会至今的交流,Kubernetes 厂商对该认证都趋之若鹜。

Certified Kubernetes offering

通过 KCSP 认证只代表企业有为他人实施 Kubernetes 项目的资质,而企业自身可能并不对外提供 Kubernetes 平台或服务,这些企业可能只是系统集成商或 ISV,这时候 CNCF 又推出了 Kubernetes 提供商认证。

Kubernetes 认证的提供商包括 Kubernetes 发行版、托管平台和安装器,通过认证的工具或平台将允许使用 Kubernetes 认证的 Logo,并保证 Kubernetes 一致性认证。

展望 2019

从 CNCF 2017和2018年度的变化来看,其中已经去掉了”dynamically orchestrating“的字眼,也就意味着 Kubernetes 在容器编排领域已经胜出,进而强调多云环境,同时 CNCF 推动的 Kubernetes 一致性认证也受到众多云厂商的支持,这也意味着 Kubernetes 将成为多云环境 API 一致性的保证。

CNCF 在2019年的战略将更聚焦于开发者社区,协助尤其是来自终端用户的开发者成为项目的 contributor 和 maintainer,保证终端用户的意见能够在社区里被正确地传达和并最终成功地采纳云原生。

参考

中 CNCF 对自己的定位是:

从上表中我们可以看到 CNCF 诞生三年来基金会成员规模、托管项目的贡献者、参加 CNCF 名义的 Meetup 的人数取得较大范围的增长,尤其是2018年,因为基金会成员的爆发式增长(+130%),CNCF 开始给成员分级,会员级别、费用和权益也在 上明码标价。

2018年 CNCF 组织的 KubeCon&CloudNativeCon 开始固定每年在西欧、北美和中国举行,且2018年是首次进入中国;原来的 Certified Kubernetes Partners 也取消了变成了 Certified Kubernetes Service Providers;CNCF 的 计划拥有了来自15个国家的65位 Ambassador,在世界各地为云原生布道;CNCF 还首次引入了 Kubernetes Training Partner。

(Kubernetes 管理员认证):这是 CNCF 最早制定的一个证书,顾名思义,通过该认证证明用户具有管理 Kubernetes 集群的技能、知识和能力。虽然该证书在2017年即推出,但2018年对考试做了更细致的指导。KCSP 要求企业必须有至少三人通过 CKA。

(Kubernetes 应用开发者认证):该认证证明用户可以为 Kubernetes 设计、构建、配置和发布云原生应用程序。经过认证的 Kubernetes Application Developer 可以定义应用程序资源并使用核心原语来构建、监控 Kubernetes 中可伸缩应用程序和排除故障。

(Kubernetes 服务提供商认证):截止本文发稿时共有74家企业通过该认证。该认证的主体是企业或组织,通过 KCSP 的企业意味着可以为其他组织提供 Kubernetes 支持、咨询、专业服务和培训。通过该认证的中国企业有:灵雀云、阿里云、博云、才云、DaoCloud、EasyStack、易建科技、精灵云、谐云科技、华为、时速云、星号科技、睿云智合、沃趣、元鼎科技、ZTE。

(Kubernetes 一致性认证):通过该认证的 Kubernetes 提供商所提供的服务,意味着其可以保证 Kubernetes API 的可移植性及跨云的互操作性;及时更新到最新的 Kubernetes 版本;是否一致是可以通过验证的。截止本文发稿通过该认证的中国企业的发行版有:灵雀云(ACE、ACP、AKS)、才云 Compass、华为 FusionStage、酷栈科技 CStack MiaoYun、Daocloud Enterprise、新智认知新氦云、浪潮云、京东 TIG、网易云、七牛云、同方有云、睿云智合 WiseCloud;通过认证的中国企业托管平台有:阿里云、百度云、博云、EasyStack、易建科技、谐云科技、华为云 CCE、腾讯云 TKE、时速云、ZTE TECS。

不同等级的会员需要交纳的年费与权益不同,详情请见 。

自2015年底 CNCF 创立之初 Kubernetes 成为其首个托管项目以来,截止到2018年底,CNCF 已经托管了,随着越来越多的项目加入到 CNCF,为了更好的管理这些项目,为这些项目划分不同的成熟度等级就成了迫在眉睫的事情。

Graduated:对应于早期成熟项目。截止到本文发稿时只有 、、 和 毕业。

CNCF 通过为项目设置成熟度水平是来建议企业应该采用哪些项目。CNCF 中托管的项目通过向 CNCF 的技术监督委员会(TOC)展示其可持续发展性来提高其成熟度:项目的采用率,健康的变化率,有来自多个组织的提交者,采用了 ,实现并维护了核心基础设施倡议(Core Infrastructure Initiative)。详细信息在 。

通过 意味着企业具有为其他企业或组织提供 Kubernetes 支持、咨询、专业服务和培训的资质。 2018年又有46家企业通过了,通过该认证的企业累计达到76家。

企业的 logo 会出现在 页面

2018年 Kubernetes 成为 CNCF 孵化的首个毕业项目,根据 CNCF 打造的项目成熟度模型,Prometheus、Envoy、CoreDNS 相继毕业,CNCF 的眼光早已不再仅盯着 Kubernetes 了, 几乎包揽了所有云计算相关开源项目。可以说 CNCF 早已超出了 Kubernetes 的范畴,而是旨在一个建立在 Kubernetes 为底层资源调度和应用生命周期管理之上的生态系统,CNCF 中还演进出了如 Service Mesh 和 Serverless 之类的分支。

CNCF charter
CNCF Ambassador 计划
devstats
CNCF Landscape
2018年度报告
CNCF 官网
Ambassador
CKA
CKAD
KCSP
Certified Kubernetes Conformance
运行开源脚本
https://www.cncf.io/about/join/
32个开源项目
Kubernetes
Prometheus
Envoy
CoreDNS
CNCF 行为准则
最佳实践证书
毕业标准v1.1
KCSP
KCSP
Kubernetes Partners
CNCF Landscape
CNCF Annual Report 2017 pdf
CNCF Annual Report 2018 pdf
CNCF Projects
CNCF Landscape
CNCF Ambassadors
Kubernetes Certified Service Providers
CNCF 项目成熟度级别
KCSP