跳到主要内容
博客容器(Kubernetes, Docker)Kubernetes问题的解答

Kubernetes 热门问题解答

热门-库伯内特-问题-解答

经过九次Kubernetes活动和七年来与Kubernetes项目的合作,作为我们自身发展的一部分,我们已经花了大量的时间与开发者社区交谈。在我们参加的每一次活动中,我们看到了一系列的采用阶段,并得到了关于复杂性和可行性的问题。以下是我们对Kubernetes的一些首要问题和答案。


试水:我应该开始为我的应用程序使用Kubernetes吗?

Linode的主要解决方案工程师Billy Thompson参加了最近在欧洲举行的KubeCon。以下是他从刚刚开始尝试使用Kubernetes的开发者那里听到的内容。

"很多人仍在探索Kubernetes,并与其他开发人员交谈,以了解更多关于该平台的信息。在许多情况下,他们在那里尽可能多地学习,并将这些信息带回他们的团队。我们可以称这些为'事实调查'任务,以帮助决定Kubernetes在不久的将来对他们的项目是否可行。"

这并不完全令人惊讶,重要的是要记住,K8s仍然是一个相对较新的技术。尽管有自动扩展和可移植性等关键优势,但主要的基础设施和应用程序的改变是昂贵和耗时的。如果你的传统部署做得很好,采用一个新的平台是很难证明的。然而,你应该总是考虑到未来,当你的环境在当前状态下的扩展不可避免地变得笨重、不切实际或不可能时。

设计和重构:开始使用Kubernetes需要什么?

无论你是准备重构一个现有的应用程序,还是从头开始,让我们来谈谈要如何开始。我问了我们专门负责Linode Kubernetes Engine(LKE)的工程师Todd Becker,他对第一次接触容器化工作负载的人有什么建议。我想谈谈重构单体应用以真正利用Kubernetes或其他云原生工具是多么令人生畏。

"为了充分利用Kubernetes的魅力,许多应用程序需要进行调整。然而,大多数应用程序可以在Kubernetes上运行,不需要太多的重构,仍然可以看到显著的好处。"

因此,虽然这将是理想的,但你并 不需要需要一个完整的微服务架构集来开始使用Kubernetes和容器。你仍然可以利用单体应用的可移植性、可扩展性和环境一致性的优势。然而,这些都是概括性的。每个应用程序都会有自己独特的要求,但重要的是要明白,传统的应用程序并不一定被排除在容器化之外。

准备Go :有什么好的工具可以帮助我开始工作?

如果你准备开始为Kubernetes进行本地开发,工具和方法论可以帮助简化经验。持续集成和持续交付(CI/CD)流程正在缩短从开发到生产的时间。

Todd强烈推荐Skaffold,"Kubernetes开发者的最好朋友",由谷歌在2019年开发。以下是托德的说法: 

"Skaffold是一个在Kubernetes上开发的伟大工具。这允许开发人员将他们的开发环境托管在Kubernetes集群中,而不是在他们的机器上进行本地开发。除了释放笔记本电脑或工作站上宝贵的计算资源外,这还提供了大量的工作优势。Skaffold通过将整个环境部署到一个实时的Kubernetes集群中,将你的开发环境和生产环境映射得更近,你可以与其他工程师分享你的开发工作空间,以便更快地开始合作。这可以帮助弥补开发和运营之间的差距,使每个人都熟悉Kubernetes"。

Todd描述Skaffold的方式使它看起来几乎是Kubernetes开发的必要条件,但它甚至还不到三年的历史。一项新兴技术的纯粹好处会导致采用方面的突破,但这是周期的另一个重要方面。随着一个平台的成熟,一点一点地,一天一天地,更多的用户给了我们更多的人努力使事情变得更容易。这可能是一个雪球效应,特别是对于允许更广泛的社区作出贡献的开源技术。

痛点和提供者:我怎样才能改善我的体验?

当然,并不是所有人都处于Kubernetes的早期或测试阶段。相当多的项目已经在生产中使用Kubernetes,所以我又去找Billy Thompson,看看那些开发者在谈论什么。

"速度。人们希望快速启动集群,而现在很多供应商都没有满足这些期望。在许多情况下,即使是一个带有短暂存储的小型集群,也需要20分钟以上的时间。这可能是令人痛苦的时间,特别是对于教师或任何做现场演示的人来说。"

LKE的情况如何?

"你的集群在LKE上启动和运行,只需 Terraform在2-3分钟内"。

管理工具和兼容性是另一个大话题。Kubernetes可能非常令人生畏,但也有一些友好和直观的第三方UI。

"这是一个非常普遍的问题。人们正在使用云计算的工具,如 Rancher并希望有能力使用不同的供应商。这些都是与LKE兼容的,可以通过 LinodeAPI或Terraform"。

这是一项新技术的另一个成熟阶段--变得用户友好。Kubernetes在2020年4月发布了自己的Dashboard,将kubectl功能带到了Web UI中,但第三方解决方案已经存在了一段时间。Kontena Lens在2019年进入GA,并且 Rancher早在2016年就达到了1.0(大约在Kubernetes 1.0之后一年)。这些工具是可用的,而且越来越容易获得。LKE默认安装了Kubernetes仪表盘,可以通过Linode云管理器中为每个集群找到的Kubernetes仪表盘链接进行访问。

下一步是什么?

我们正在接近一个转折点。Kubernetes的好处正在突破采用一项新技术的最初挑战,我们正在进入一个自我维持的周期:更多的开发者使用K8s,增加了K8s项目的数量,随着这些项目的增长,对K8s开发者的需求也会增加。这也延伸到了服务提供商,他们通过发布和调整新的工具来应对对更多Kubernetes支持的需求增加。

今天,在生产中为你的应用程序运行Kubernetes既实用又平易近人。没有回头路了,我们很高兴能帮助更多的开发者开始工作。

你是否使用Kubernetes并有一些你想在LKE上看到的东西?请告诉我们。


评论 (1)

  1. Author Photo

    Kubernetes brings convenience and improves efficiency, but it also increases the cost of use

留下回复

您的电子邮件地址将不会被公布。 必须填写的字段被标记为*