使用虚拟集群构建您的自助服务 Kubernetes 平台🚀 - 本月 DevOps 工具 (2)

2025-06-07

使用虚拟集群构建您的自助服务 Kubernetes 平台🚀 - 本月 DevOps 工具 (2)

本月的 DevOps 工具是一个新系列,2021 年我每个月都会介绍一个新的有用的 DevOps 工具🙌🏼

该系列的第二篇是:Loft 🎉 - 有了 loft,任何 Kubernetes 集群都将成为开发人员按需创建虚拟集群的自助服务平台!


Loft 解决了什么问题?👀

假设您的公司有 10 个项目团队都使用 Kubernetes,并且每个团队需要 3 个集群用于开发、登台和生产环境。

你可能会想,每个团队都创建和管理自己的 K8s 集群效率很低。尤其是因为管理一个 K8s 集群需要耗费大量的精力,你肯定不想因为公司里有 10 个项目就重复做 30 次。此外,这样做成本也很高,因为你需要更多服务器和资源。🤯

因此,公司常见的做法是创建一个公司范围的 K8s 集群,由专门的团队进行管理。这样,您的公司现在只需管理这一个共享集群。现在,他们可以使用命名空间隔离机制,让开发人员访问这个共享集群,这样每个团队都可以部署自己的应用程序。👍

然而,这也带来了以下挑战

  • 授予访问权限- 如何让不同的团队和个人开发人员访问这个共享集群?
  • 限制访问- 另外,如何确保每个团队只能访问其项目资源?您需要限制每个项目的访问权限,以确保集群安全。或者,即使在团队内部,您也可能希望根据角色和任务限制哪些人可以访问哪些资源。
  • 限制资源- 如何限制每个团队可以使用的集群资源量?您肯定不希望某个团队耗尽大部分集群资源,或者某个开发人员错误配置其命名空间中的某些资源,从而扰乱所有其他集群服务。
  • 隔离运行资源- 如何隔离每个项目的资源和应用程序?显然,您肯定不希望项目资源意外混淆,对吧?

挑战


Loft 是如何解决这个问题的?🤔

Loft 利用虚拟集群的概念帮助解决这些挑战。

那么什么是虚拟集群?

虚拟集群

它只是集群内的集群。

Kubernetes虚拟集群

Loft 实现虚拟集群的方式是:当用户创建 vCluster 时,Loft 会创建一个新的命名空间,并在该命名空间内创建一个轻量级的 K8s 集群(包含 API 服务器和控制器的 K3s)。这样,即使 vCluster 属于同一主机集群,它们之间也将完全隔离。😎

自助服务

现在,一位开发人员可以创建一个 vCluster 来测试新功能。即使他的 vCluster 崩溃了,其他部分也不会受到影响。✅

或者,如果产品经理想要向潜在的应用用户演示新功能,他们现在可以非常轻松地启动 vCluster 来部署应用程序,并在演示结束后删除其 vCluster!✅

开发人员创建 vCluster

睡眠模式可节省云基础设施成本

Loft 的一个非常重要的功能是睡眠模式,它可以让您显著节省基础设施成本。

在睡眠模式下,虚拟集群将缩减所有资源,但是数据和所有 Kubernetes 组件将保留。

您可以手动触发睡眠模式,也可以将虚拟集群配置为在一段时间后自动进入睡眠模式。首次与该虚拟集群交互后,该集群将自动恢复活动状态。👍


开始使用 Loft 👩🏻‍💻

构建您自己的自助式 Kubernetes 平台

通常,您的公司中已经有现有的 Kubernetes 集群(使用 EKS、OpenShift、Rancher 等创建),并且已经拥有集群范围的资源,例如已配置的 Ingress Controller 或 Monitoring。

1. 下载 Loft CLI
2. 在其中一个集群中安装 Loft
3. 将集群连接到该集群

现在 Loft 应运而生。通常,DevOps 工程师会在其中一个集群中安装 Loft,然后将所有其他集群连接到该集群,从而将多个集群组合成一个大型的自助服务集群。

4. 集群管理员创建具有权限的用户

现在使用 loft UI、loft CLI 甚至 kubectl,集群管理员可以为团队或个人开发人员创建用户,并授予他们创建和使用虚拟集群的权限。

隔离的 Kubernetes 集群

5. 开发人员可以在需要时创建 vCluster

现在,团队可以在需要时非常轻松地开始自行创建 vCluster:
Loft UI - 创建 vCluster


由此可见,loft 解决了公司内部管理和使用 Kubernetes 集群的诸多挑战。同时,loft 的休眠模式和集群共享功能还能帮助您节省云计算成本。

快去看看,然后告诉我你的想法吧!🤓 🧐

本系列接下来会推出更多精彩工具,敬请期待!🎬😊


喜欢、分享并关注我😍以获取更多内容:

文章来源:https://dev.to/techworld_with_nana/build-your-self-service-kubernetes-platform-with-virtual-clusters-devops-tool-of-the-month-2-2oae
PREV
面向初学者的完整 Jenkins Pipeline 教程 [免费] 🎉
NEXT
深入了解 MySQL 和 PostgreSQL 中的隔离级别和读取现象