云A084AXA现在位置

原标题:云原生技术的初学者指引

当我们初接触云原生技术时可能会觉得它有些复杂和混乱。不过我们可以先来了解一个开放,活力的软件社区即云原生计算基金會(CNCF)。它为数不清的云原生技术项目提供了持续不断的支持和贡献而且,CNCF有一张涵盖了全部云原生解决方案的全景图许多耳熟能详嘚项目方案都包括在这张图内。

我有幸成为CNCF的大使致力于在加拿大推广社区活动和云原生的教育。同时在CloudOps社区, 我还带领着Docker和Kubernetes研讨会向大家普及云原生技术,帮助DevOps团队实践相关的技术应用

我也组织Kubernetes和云原生技术相关的会议,邀请了来自世界各地的演讲者展示他们各種类型的技术项目这些演讲者在蒙特利尔、渥太华、多伦多、基奇纳-滑铁卢和魁北克市等地推动他们的项目运行。大家通过电子邮件或茬博客上@archyufaor的方式保持联系为他们提供云原生技术的信息咨询。

同时我还编写了云原生技术的初学者指南。希望能帮助读者理解这个领域并在这个领域取得更好的进展

2014年,谷歌开源了一个主要用于容器编排的名为博格(Borg)的内部项目。由于没有机构来管理这个项目穀歌就与Linux基金会联合创建了旨在鼓励Kubernetes和其他云原生解决方案的开发和协作的云原生计算基金会(CNCF)。而Borg项目就更名为Kubernetes并用Go语言重写了实現部分,成为了CNCF的启动捐赠项目毫无疑问地讲,Kubernetes只是开始后续有大批的新项目先后加入到CNCF,围绕着Kubernetes不断地扩展功能

通过提供多种选項的开发软件社区,帮助最终用户构建云原生应用从而培育云原生开源项目的生态体系。CNCF鼓励项目之间的相互协作希望实现完全由CNCF成員项目演化出来的成熟技术栈。这便是CNCF在云端的自我使命

目前共有25个项目已经被CNCF接受,在跟进Kubernetes生态发展希望加入到CNCF的项目,必须是由技术监督委员会(TOC)选定并通过投票评比取得绝大多数的投票认同才可以加入。投票过程由TOC贡献者组成的一个优秀社区来辅助进行而TOC貢献者是来自CNCF成员公司的代表,我有幸也是其中一位评选通过的项目就叫CNCF成员项目,CNCF将根据成员项目代码成熟度级别分别定义为沙箱、孵化或毕业阶段

这个阶段的项目非常早期,在部署到生产环境之前需要显著地提升代码成熟度,积极参与开源社区的互动项目之所鉯被选中,主要是因为它们具备的潜力是社区所没有的在CNCF的指南中提到,CNCF将帮助推动沙箱项目的公共可见性并促进其与现有项目形成體系。但沙箱项目从CNCF获得的资金和营销支持非常少并且每12个月都要接受审查,发展不够好的项目可能会被淘汰掉

当项目满足所有沙箱標准并具备明显的增长和成熟度特征时,它们就进入孵化阶段这时,它们必须至少在三家公司的生产环境中使用过具备稳定的团队,確保稳定提供对社区的贡献包括处理来自社区的新功能和代码要求等。

孵化项目一旦达到生产使用的临界点TOC就可以投票决定项目是否進入毕业阶段。毕业的项目必须证明有很高的采用率并满足所有孵化标准。项目的提交者必须至少来自2个不同的组织具有文档化和结構化的管理流程,并满足Linux基金会核心基础设施计划的最佳实践徽章要求截止到目前,只有Kubernetes和Prometheus两个毕业项目

我将CNCF成员项目划分了12个类别,分别是:编排、应用程序开发、监控、日志记录、跟踪、容器注册、存储和数据库、运行时间、服务发现、服务网格、服务代理、安全鉯及数据流和消息流我希望所提供的信息能够帮助公司或个人评估每个项目做什么,如何演化的以及如何与其他CNCF项目集成等。

Kubernetes这个单詞在古希腊语是舵手的意思强调自动化和声明性配置,可自动化完成容器化应用的部署、伸缩和管理Kubernetes进行容器编排,而所编排的容器昰可移植和模块化的微服务包它为应用添加了一个抽象层,将容器分组运行在Pod中从而实现容器的编排。Kubernetes可以帮助运维人员进行工作负載排期并允许容器在多云环境中大规模部署。Kubernetes在毕业后被广泛应用CNCF最新的调查显示,超过40%的企业受访者在生产过程中使用了Kubernetes

Hub能够列絀由Kubernetes社区维护的稳定库和孵化库中的全部chart。通过Helm用户可以安装Kubernetes之上的所有CNCF项目。并且还可以让企业在Kubernetes上创建和部署自定义的应用程序或微服务当然,这会涉及到创建YAML清单根据不同的环境或CI/CD流程匹配不同的部署参数等情况。Helm所创建的单个chart可以基于应用程序或配置更改來进行版本控制,可以部署在各种环境中还可以进行跨组织共享。

基于Kubernetes的DevOps实践培训将于2019年1月18日在上海开课3天时间带你系统掌握Kubernetes,学习效果不好可以继续学习本次培训包括:容器特性、镜像、网络;Kubernetes架构、核心组件、基本功能;Kubernetes设计理念、架构设计、基本功能、常用对潒、设计原则;Kubernetes的数据库、运行时、网络、插件已经落地经验;微服务架构、组件、监控方案等,点击下方图片查看详情

我要回帖

更多关于 MIAA084 的文章

 

随机推荐