现在云中存在的许多系统都是建立在基于虚拟机,虚拟磁盘等物理概念的抽象基础之上的,”Heptio的联合创始人兼首席技术官兼Kubernetes在Google的原始开发人员之一的Joe Beda说。 “Kubernetes引入了一系列逻辑抽象:容器,镜像,pod,服务,等等。学习这些可能需要一些时间,并为这套技术的学习曲线作出贡献。“
我们收集了一些重要的建议,帮助你做到这一点 ,学习和计划,让末的组织与Kubernetes取得长期的成功。
1.阅读,观看,聆听(并学习)——》学习经典权威的书籍和教程
你在正确的轨道上:你现在已经阅读了Kubernetes。大多数专家建议在认真做好之前做一些功课。 Beda指出:“有很多很好的教程和讲座。
Retriever Communications首席技术官Nic Grange推荐Google开发者倡导者Kelsey Hightower提供的任何材料,首先是一个免费的Udacity课程Hightower和一个同事创建的可扩展微服务与Kubernetes。
Hightower也是两位作者的合着者,还有Beda和Kubernetes的创作者Brendan Burns,以及Grange也推荐的Kubernetes:Up and Running。
Haff和Henry的书为Kubernetes背后的原因提供了很好的背景知识,为什么编排如此重要,以及软件通向容器和微服务时代的进化道路的伟大入门。还可以查看红帽的Kubernetes指南,包括词汇表以及Kubernetes如何融入企业IT架构。
2.遵循理解概念的计划——》理解基础概念,勾勒框架结构,按逻辑实践验证
一旦获得了“101”级的理解,就可以深入了解使Kubernetes工作的各种概念。正如Beda在上面所说的那样,他们和你以前的习惯是完全不同的。事实上,Beda建议在开始使用Kubernetes之前,先用容器自己开始学习过程。
Beda说:“以简单,永恒的方式简单打包应用程序,是学习应用程序首先部署的方式,以及如何监控,升级和增长应用程序的一大步。
然后,专门讨论Kubernetes的概念。只是不要试图一次处理所有事情。
Pepperdata高级架构师Kimoon Kim表示:“Kubernetes有许多不同的结构,新用户很容易迷路。 “从Kubernetes Pod的开始,然后和Kubernetes集群一起玩。 (稍后会详细介绍)稍后学习其他结构也是可以的。“
CYBRIC首席技术官兼联合创始人迈克·凯尔(Mike Kail)表示,这有助于制定一个计划或框架,一旦你把豆荚作为第一个概念来处理。他说:“我发现,开始使用像Kubernetes这样的新兴技术的最好方法是勾勒框架,然后以合乎逻辑的方式走过去,而不是试图从流水中喝酒。 Kail将其分解为:Kubernetes构建块(如Pod),服务(如ClusterIP),网络,卷管理以及服务发现/负载平衡。
3.Kubernetes测试——》从简单事情开始尝试应用
Kail说:“一旦你对这些核心概念有了很好的理解,那么从一个简单的应用程序部署开始,你就可以了解集群的行为和挑战。
你可以使用托管的云服务,或者在本地使用Kubernetes:Grange建议开源项目Minikube,它使你能够在笔记本电脑的虚拟机上运行单节点集群。
格兰奇补充说,让Kubernetes自己启动和运行是一些用户和团队最具挑战性的部分。 Grange指出,通过像Minikube这样的工具,你可以暂时跳过这一步,首先学习如何使用托管的Kubernetes实例部署和管理应用程序,然后返回并学习如何构建和管理自己的集群。
Netsil产品副总裁Arvind Soni认为这是正确的顺序:从学习如何管理自己的集群开始可能是不必要的痛苦。 Soni说:“你将会陷入建设和运营Kubernetes集群的挑战,而不是专注于学习可以从中获得的最终价值。
Beda说:“开始时不要担心管理集群,做任何简单的事情。
4.从非关键工作负载开始——》在非核心地方开始应用
一个成功的学习策略几乎总是涉及到一些反复试验:在生产环境中,没有一个老师像一个错误。通过预测那些早期的失误,你可以限制它们对低级应用程序的影响。随着你从“测试和学习”模式发展到“管理生产中的容器”模式,这一点尤为重要。当你考虑编排平台(如OpenShift)以可扩展的方式管理容器时,这也可能是重点。
“一旦你对这些概念和命令感到满意,你应该开始计划你将如何使用(Kubernetes)非关键的工作负载,”Grange建议。这通常是最好的开始,因为在部署更重要的工作负载时,它可以让你学习,犯错误,并且更自信。“
5.从概念转向更深入的学习——》从概念转向深入理解流程
确保你的学习曲线实际上是曲线,而不是扁平线。 部分实践学习应该包括在日常使用中更好地理解这些概念,并继续深入了解该平台。
Soni说:“一旦你建立了初步的应用程序,并获得舒适,深入研究”Kubernetes的所有'巫术魔法'是如何发生的。 “它如何路由到服务? 它如何启用持久性卷并将其作为豆荚移动进行管理? 哪些选项可用于解决保护吊舱的需求? 等等。 这将使你有效地使用托管的Kubernetes [实例],甚至建立你自己的私有Kubernetes集群。“