从开发者的角度看 Kubernetes

2025-06-04

从开发者的角度看 Kubernetes

我们通过与事物交互和理解的方式来感知事物。对于基础架构团队来说,Kubernetes 是扩展和管理应用程序的绝佳方式,但对于前后端开发人员来说,它可能显得复杂且压力很大。

Kubernetes 引入了许多概念和术语(部署、服务、Pod 等),需要花时间去理解,甚至更久才能精通。开发人员有时甚至需要每周甚至每天与它们打交道。

通过我们的经验和研究,我们确定了开发人员与 Kubernetes 互动的三种最常见的方式。

那么,从开发人员的角度来看 Kubernetes 是什么样的?

支持我们🙏

Github 星标

在我们开始之前,如果您为我们的开源存储库加注星标并帮助我们将我们的
工具展示给其他开发人员, 我们将非常感激⭐

接触点

根据公司的结构和开发工作流程,开发人员要么根本不与 Kubernetes 交互,因为自动化流程和脚本正在执行此操作,要么通过三个接触点与 Kubernetes 交互:

  1. 他们的应用程序的配置文件
  2. 在 K8s 集群中部署他们的应用程序
  3. 监控他们的应用程序

配置文件

YAML

配置文件告诉 Kubernetes 如何处理应用程序。它们是声明式的,这意味着您只需编写想要看到的结果,而不是实现该结果的步骤。

这些文件通常以YAML编写,体积庞大,阅读和理解起来复杂。而且,由于 YAML 是开发人员需要学习的额外编程语言,因此用 YAML 编写也存在一些挑战(和怪癖)。

配置错误很难发现和纠正,但却事关重大即使你的应用代码完美无瑕(假设如此😅),配置中的一个错误也可能意味着你的应用无法运行。

部署

部署应用程序是在 Kubernetes 集群中启动应用程序的过程。原生的部署方式是使用kubectl

kubectl是Kubernetes 的命令行工具。作为命令行工具/界面,我们应该考虑到这一点。高级开发人员应该熟悉 CLI,但初级开发人员可能仍然不太习惯。习惯 CLIkubectl会给学习曲线增加新的一层。

然而,部署不仅需要了解可用的命令kubectl;还需要了解上下文以及它如何操作 Kubernetes 对象。

监控

现在我们的开发人员已经配置并部署了他们的应用程序,他们就大功告成了,对吧?其实不然。
该应用程序可能存在相当多的 bug 和问题,他们应该能够监控这些问题并在需要时进行修复。

在 Kubernetes 集群中找出应用程序的问题并不是一件容易的事。开发人员需要了解集群中的对象以及它们之间的交互方式。

例如,要获取应用的日志,您需要知道它在 Pod 中运行。该 Pod 位于副本集中,而副本集本身位于部署中。在使用 Kubernetes 资源时,您必须了解这些关系kubectl

开发者平台

这只是 Kubernetes 的冰山一角。它的复杂性大大延长了新开发人员的入门时间,所有引入的额外步骤都会减慢开发周期。

公司通常会有专门的团队来处理基础设施和 Kubernetes。当开发人员遇到问题或需要帮助时,他们会向这些团队寻求帮助。但你可以想象,在处理像 Kubernetes 这样复杂的问题时,寻求帮助是很常见的。

这就是为什么我们看到开发者平台的兴起,它减少了开发者和基础设施团队之间的摩擦。一个好的平台可以让创建、更新和部署的开发周期尽可能顺畅和直接。

Cyclops - 为开发人员打造的 Kubernetes 平台

Cyclops是一款出色的开源开发者工具,它将 Kubernetes 的复杂性抽象到简洁的图形用户界面中。我们称之为平台,是因为您的基础设施团队可以根据自己的特定需求和愿望定制 UI。

那么,Cyclops 是如何解决上述问题的呢?

  1. 使用 Cyclops,您的开发人员无需直接与配置文件交互。您只需创建一个模板,然后将其渲染为表单即可。这样一来,开发人员无需学习 YAML 之类的语言,还能在输入中添加验证,从而降低开发人员出错的几率。
  2. 一旦开发人员在 Cyclops 的帮助下指定了他们所需要的内容,部署他们的应用程序就变得像单击按钮一样简单。
  3. 现在他们已经部署了应用程序,Cyclops 可以轻松地通过其用户界面监控其状态。应用程序的详细信息易于访问,包括其使用的所有资源(和日志)。

让我们看看它的实际效果!

安装只需两步,但有一些先决条件,其中最主要的是 Kubernetes 集群。

因此,一旦您的集群启动并运行,您就可以使用以下命令安装 Cyclops:

kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/blogs-demo/install/cyclops-install.yaml
Enter fullscreen mode Exit fullscreen mode

一旦成功安装(可能需要一两分钟),您就可以使用以下命令访问它:

kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
Enter fullscreen mode Exit fullscreen mode

现在可以通过浏览器访问 http://localhost:3000来访问 Cyclops 。

现在,通过单击Add Module按钮,您将进入此屏幕:

Cyclops 中的新模块

我们为您创建了一个默认模板,但此屏幕高度可定制(您可以尝试自己的 Helm 图表!)。现在,开发人员无需读写 YAML,只需单击“保存”按钮即可填写这些字段,然后他们的应用程序即可部署!

Cyclops 中的应用程序概览

下一个屏幕展示了您新部署的应用程序的详细视图。在这里,您可以查看所有指定的资源(并轻松访问日志😉)。如果出现任何问题,它都会在这里显示出来!

如果您希望更改配置中的某些内容(例如,添加更多应用程序副本),请点击Edit按钮。您将进入一个类似于第一个屏幕的屏幕,您可以在其中进行这些更改,并且您甚至不知道自己正在处理下面的 YAML。

总结

我们希望本文能够很好地展示开发人员在使用 Kubernetes 时遇到的一些困难,以及您或您的开发人员下次使用 Kubernetes 时可以考虑的潜在解决方案。

如果您在使用 Kubernetes 时遇到问题,或者有开发人员向您询问与 K8s 相关的问题,请考虑在我们的 GitHub存储库上给我们一颗星来支持我们⭐

您是否遇到过这些与 Kubernetes 相关的接触点?请在下方评论区分享您的经验!

文章来源:https://dev.to/cyclops-ui/kubernetes-through-the-developers-perspective-38lf
PREV
Kubernetes 上的 Minecraft:开发平台示例
NEXT
Kubernetes 变得简单 - Cyclops 介绍