如果您是使用容器的开发人员,您和您的团队可能已经听说过Kubernetes。Kubernetes的核心是网络容器操作系统,但已经发展得更多。当然,Kubernetes可以管理你的容器,网络流量,并引发崩溃的广告,但它也成为一个广泛采用的平台,社区不断增长。
“当你看到Kubernetes作为构建其他平台的平台时,它就变成了一种生态系统工具,” Google云平台员工开发者倡导者Kelsey Hightower说。“Kubernetes反映了我们如何处理分布式系统和容器的另一个检查点 - 所有这些都由一个社区支持,该社区将独立于特定供应商而自行发展。”
但是从哪里开始呢?在这个Kubernetes教程中,我们将分解团队应如何考虑实施Kubernetes并分享一些有助于团队解决特定挑战的富有洞察力的资源。
“作为开发人员,安装Kubernetes和使用Kubernetes之间存在很大差异,”Hightower解释道。
“我喜欢用汽车比喻。有些人可以从头开始设计汽车 - 从电机到变速器 - 并将整个车放在一起进行批量生产。但这与预期驾驶它的人不同。“
Kubernetes适用于运营商和开发商。希望解开Kubernetes并让它部署您的应用程序的团队可以快速完成。但是,随着对Kubernetes平台的更多了解,您的团队可以根据您的业务需求和应用程序需求变得更加复杂来构建扩展。
“无论你想在它上面做什么,Kubernetes都不应该妨碍你,”Hightower说。“Kubernetes支持您随时随地部署。”
Kubernetes拥有一个强大的社区和不断增长的从业者基础。由于Kubernetes正在成为一个下一级平台,无论其专业水平或行业水平如何,它都是开发人员共享的中立空间。任何寻找动态资源和建议的人都应该加入任何这些Kubernetes社区:
刚涉足Kubernetes的开发人员应首先知道使用此工具运行应用程序是相当简单的。
“第一个Kubernetes最佳实践不是运营Kubernetes,” Bitfield Consulting首席顾问John Arundel说。“让我澄清一下。不要自己运行Kubernetes ,使用Google Kubernetes Engine等托管Kubernetes服务。“
“每个开发人员和系统管理员应该阅读的一本书是' Kubernetes Up And Running '。”Arundel建议道。“它解释了Kubernetes是什么以及它是如何工作的,并向您展示了如何从运行第一个容器到相当复杂,有状态的多pod应用程序。”
除了Stackify上的Kubernetes教程外,YouTube还有其他很棒的Kubernetes教程,提供了容器管理的概述。谷歌的Aparna Sinha有一个视频,介绍如何跨区域和区域设置集群以实现规模和可用性。
“让基本的Kubernetes集群启动并运行并不困难,但生产级集群有点困难,”Arundel建议道。
开发人员应考虑在主节点上运行的服务,工作节点的更高可用性,安全性,使用Kubernetes RBAC角色的授权,Pod安全策略(PSP)和依赖关系管理。
“所有这些都很复杂,很容易出错,如果你弄错了,你的企业可能会被黑客攻击或遭受灾难性的失败,”阿伦德尔说。
中级团队应该定制Kubernetes功能,以扩展平台的基本组件以满足您的需求。
“也许你希望你的所有应用都拥有SSL证书,并希望你的端点受到保护,”Hightower说。“Kubernetes没有开箱即用的功能。您将看到生态系统中的开发人员了解Kubernetes API并构建这些扩展,或者我们称之为运营商。“
最终,中级团队的目标是开始利用简单的Kubernetes API来添加功能。
到目前为止,您已经构建了一个Kubernetes系统,该系统应该大大减少部署应用程序所需的时间和精力。
“如果你以前每周部署一次,那么每天在Kubernetes上部署都应该没问题。”阿伦德尔说。“持续基础设施”是云本机等同于'持续部署':您只需推送到Git仓库,而不是执行手动操作(例如部署),自动系统将运行测试并使您的更改生效。“
Hightower建议开发人员在他们的需求增长时应该考虑Webhook控件和准入控件。
“每个开发人员都需要访问特定的数据库。我们可以让他们在Kubernetes部署对象之外描述它,或者我们可以创建一个准入控制器。官方Kubernetes网站上有一整套资源 - 只需搜索入场管制员,你就会看到如何做出这些事情。“
Kubernetes是一个功能强大的DevOps工具,可以从根本上改变您的开发团队的运营方式,但它实际上取决于您的业务如何移动以及您需要应用程序执行的操作。
开发人员拥有广泛的资源和教育选择 - 从Kubernetes会议和利基在线社区,到由官方Kubernetes主页托管的丰富的高级内容。
“Kubernetes是一个诞生于云时代的工具,”Hightower表示。“我们知道这些工具需要很好的API,它们需要是开源的,这样才能长期信任它们。我们也知道这些工具需要得到大社区的支持,因此我们可以向同行提出问题,而不是100%依赖供应商提供支持。“
原文标题《Top Kubernetes Tutorials and Resources for Developers of All Levels》
作者:John Julien
译者:February
不代表云加社区观点,更多详情请查看原文链接
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。