笔记。 翻译。:与项目中的 Kubernetes 爱好者一起
他谈论主要(同名)
我最不想做的事情就是在我的笔记本电脑上使用 Kubernetes。 Pilot 会消耗他的处理器和电池,使冷却器不停地旋转,并且难以维护。
Minikube、kind、k3s、Docker Desktop、microk8s 等— 旨在使 Kubernetes 的使用尽可能方便的出色工具,为此感谢他们。 严重地。 但无论你如何看待它,有一件事是明确的:Kubernetes 并不是为在我的笔记本电脑上运行而设计的。 而且笔记本电脑本身并不是为了与分散在虚拟机层上的容器集群一起工作而设计的。 这个可怜的东西尽力了,但显然不喜欢这样,当我不顾一切地把他放在膝盖上时,他对冷却器的嚎叫声表现出不满,并试图烧伤他的大腿。
比方说:笔记本电脑 - 笔记本电脑。
大约 18 个月前,从 Garden 项目一开始,我们就知道 本地的 分布式系统的开发是一个临时解决方案,因此Garden有很大的灵活性和坚实的基础。
我们现在已准备好支持本地和远程 Kubernetes 环境。 工作变得更加容易:组装、部署和测试现在可以在远程集群中进行。
简而言之:
使用 Garden v0.10,您可以完全忘记本地 Kubernetes 集群,并且仍然可以快速响应代码的更改。 所有这些都是免费且开源的。
在本地和远程环境中享受同样的便利
引起你的注意了吗?
我很高兴,因为我们有更多有趣的功能! 开发集群的普遍使用具有更广泛的影响,特别是对于协作团队和 CI 管道。
怎么样?
首先,集群内构建器(无论是标准 Docker 守护程序还是 Kaniko)以及集群内注册表都是共享的 对于整个集群。 您的团队可以共享一个开发集群,并为所有开发人员提供构建缓存和映像。 由于 Garden 根据源哈希为图像分配标签,因此标签和图层的定义是唯一且一致的。
这意味着一旦开发人员创建了图像,它就变成了 可供整个团队使用。 日复一日,我们下载相同的基础镜像并在计算机上进行相同的构建。 好奇浪费了多少流量和电力?
测试也是如此:它们的结果可供整个集群和所有团队成员使用。 如果其中一位开发人员测试了某个版本的代码,则无需重新运行相同的测试。
换句话说,不仅仅是您不需要运行 minikube。 这一飞跃为您的团队铺平了道路 许多 优化机会 - 不再有不必要的构建和测试运行!
CI 怎么样?
我们大多数人都习惯了这样一个事实:CI 和本地开发是两个独立的世界,需要单独配置(并且它们不使用共享缓存)。 现在您可以将它们组合起来并去掉多余的部分:
您可以在 CI 和开发过程中运行相同的命令, 以及 使用单一环境、缓存和测试结果。
本质上,您的 CI 变成了一个与您在同一环境中工作的开发机器人。
系统的要素; 无缝开发和测试
您可以显着简化 CI 管道的配置。 为此,只需从 CI 运行 Garden 进行构建、测试和部署。 由于您和 CI 使用相同的环境,因此遇到 CI 问题的可能性要小得多。
挖掘无数行配置和脚本,然后推送、等待、希望和无休止的重复……这一切都已成为过去。 你只是在发展。 没有多余的动作。
并把事情说清楚: 当您或其他团队成员使用 Garden 构建或测试某些内容时,CI 也会发生同样的事情。 如果自测试运行以来您没有更改任何内容,那么您不需要为 CI 运行测试(甚至构建)。 Garden 自己完成所有事情,然后继续执行其他任务,例如设置预启动环境、推送工件等。
听起来很诱人。 如何尝试?
欢迎来到
译者PS
很快我们还将发布对在 Kubernetes 中运行的应用程序开发人员有用的实用程序的评论,其中除了 Garden 之外,还包括其他有趣的项目......同时,还可以阅读我们的博客:
- «
Kubernetes 提示和技巧:关于本地开发和网真 “; - «
用于在 Kubernetes Pod 中进行调试的 kubectl-debug 插件 “; - «
Kubernetes 提示和技巧:访问开发站点 “; - «
使用 Minikube 开始使用 Kubernetes “。
来源: habr.com