跳到主要内容
博客容器(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)流程缩短了从开发到生产的时间。

托德强烈推荐谷歌 2019 年开发的 "Kubernetes 开发人员的好朋友 "Skaffold。托德是这样说的 

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

Todd 描述 Skaffold 的方式让人觉得它几乎是 Kubernetes 开发的必需品,但它还不到三年历史。新兴技术的纯粹优势可能会带来应用上的突破,但这也是周期的另一个重要方面。随着一个平台日渐成熟,越来越多的用户会让我们有更多的人致力于让事情变得更简单。这可能会产生滚雪球效应,尤其是开放源码技术,它允许更广泛的社区做出贡献。

痛点和提供商:如何改善我的体验?

当然,并非所有人都处于 Kubernetes 的早期或测试阶段。相当多的项目已经在生产中使用 Kubernetes,所以我又去找了比利-汤普森,看看这些开发人员都在谈论些什么。

"速度。人们希望快速启动集群,而现在很多提供商都无法满足人们的期望。在很多情况下,即使是使用短暂存储启动一个小型集群,也需要 20 分钟以上。这可能是一个令人痛苦的漫长过程,尤其是对于教师或任何进行现场演示的人来说。

兰桂坊怎么样?

"您的群集可在 Terraform在 2-3 分钟内运行"。

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

"这是一个非常普遍的问题。人们正在使用不依赖云的工具,如 Rancher等云无关工具,并希望能够使用不同的提供商。这些工具与 LKE 兼容,可以通过 Linode API或Terraform 进行部署。"

这是新技术成熟的另一个阶段--变得用户友好。Kubernetes 于 2020 年 4 月发布了自己的 Dashboard,将 kubectl 功能引入网页用户界面,但第三方解决方案的出现时间更长一些。Kontena Lens在 2019 年发布了 GA,并 Rancher早在 2016 年(Kubernetes 1.0 后约一年)就达到了 1.0。这些工具都是可用的,而且越来越容易获得。LKE 默认安装了 Kubernetes 控制面板,可以通过 Linode 云管理器中每个群集的 Kubernetes 控制面板链接进行访问。

下一步是什么?

我们正在接近一个临界点。Kubernetes 的优势正在突破采用新技术的初期挑战,我们正在进入一个自我维持的循环:越来越多的开发人员使用 K8s,从而增加了 K8s 项目的数量,随着这些项目的增长,对 K8s 开发人员的需求也随之增加。服务提供商也是如此,他们通过发布和调整新工具来满足对 Kubernetes 支持的更多需求。

如今,在生产中为您的应用程序运行 Kubernetes 既实用又容易上手。我们没有退路,我们很高兴能帮助更多的开发人员开始使用 Kubernetes。

您是否在使用 Kubernetes,并有希望在 LKE 上看到的内容?请告诉我们。

评论 (1)

  1. Author Photo

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

留下回复

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