|
|
|
|
移动端

五个Kubernetes成功秘诀

你可以找到很多人和数据,告诉你Kubernetes已经成为一个重要的开源成功项目。那些同样的人会赞扬像Kubernetes这样的编排工具的价值,以帮助大规模管理集容器化的应用程序。

作者:云技术社区翻译来源:云技术之家|2018-03-19 08:22

【新品产上线啦】51CTO播客,随时随地,碎片化学习

开始使用Kubernetes,使用这些专家建议来充分利用容器编排。

你可以找到很多人和数据,告诉你Kubernetes已经成为一个重要的开源成功项目。那些同样的人会赞扬像Kubernetes这样的编排工具的价值,以帮助大规模管理集容器化的应用程序。

例如,红帽技术公司的技术人员戈登·哈夫(Gordon Haff)和威廉·亨利(William Henry)在他们的电子书“从锅与桶到程序与应用:软件学习如何打包自己”中指出,符合OCI的容器运行时非常擅长管理单个容器。但是,当单数变成复数时,这又是一个命题:“当你开始使用越来越多的容器和集装箱化的应用程序,分解成数百个时,管理和编排就会变得棘手。

然而,你会找到许多专家,像哈夫和亨利,他们会向你保证Kubernetes是“容易的”。它是一个强大的平台,但是对于越来越多的软件团队来说,进入容器化的应用程序可能会有一个学习曲线,特别是容器化的微服务。

“现在云中存在的许多系统都是建立在基于虚拟机,虚拟磁盘等物理概念的抽象基础之上的,”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集群。“

【编辑推荐】

  1. 2018年的云趋势:无服务器计算、Kubernetes平台和供应商寡头垄断
  2. 如何获知Kubernetes是否适合您的SaaS
  3. Linux容器安全的10个层面
  4. 为什么我会被Kubernetes“洗脑”?
  5. 后Kubernetes时代,带你系统梳理K8S 12大关键特性
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通JavaScript动态网页编程(实例版)

本书通过大量实例代码,以ECMA-262版本3为基础,结合JavaScript 1.5和JavaScript 5.5,由浅入深、循序渐进地介绍了JavaScript知识要点与编...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊