注意事项 佩雷夫 在最近的KubeCon Europe 2019活动上,我们遇到了来自Garden项目的Kubernetes爱好者,他们给我们留下了很好的印象。 此材料写在相关的技术主题上,并带有明显的幽默感,明确证明了这一点,因此我们决定将其翻译。
他谈到了公司的主要产品 (同名产品 ),其主要思想是自动化工作流程并简化Kubernetes中的应用程序开发。 为此,该实用程序使您可以轻松地(实际上是一个命令)部署对开发集群中的代码所做的新更改,并且还提供共享的资源/缓存,以加快团队的代码汇编和测试速度。 两周前,Garden托管了0.10.0的发行版 ,在该版本中,不仅可以使用本地Kubernetes集群,而且可以使用远程集群:本文专门讨论了此事件。我最不喜欢在笔记本电脑上使用Kubernetes。 “飞行员”吸收了处理器和电池,使冷却器旋转而没有停止,并且难以维护。
以增强效果为主题的股票照片 Minikube,kind,k3s,Docker Desktop,microk8s等 -旨在使Kubernetes尽可能方便的出色工具,对此深表感谢。 说真的 但是无论从哪个角度看,都有一件事很明显:Kubernetes不适合在我的笔记本电脑上运行。 而且,笔记本电脑本身并未设计为与分散在虚拟机各层上的一堆容器一起使用。 可怜的事情正在尽力而为,但是她显然不喜欢这个职业,当我不顾一切地将他跪在膝盖上时,她对冷却器的how叫声不满,并努力烧伤臀部。
假设:笔记本电脑就是笔记本电脑。Garden是与Skaffold和Draft相同领域的开发人员工具。 它简化并加快了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会自行完成所有工作,然后继续执行其他任务,例如组织发布前的环境,推送工件等。
听起来很诱人。 怎么尝试?
欢迎来到
我们的GitHub仓库 ! 安装Garden并尝试使用示例。 对于已经使用Garden或想更好地了解它们的人,我们提供了
Remote Kubernetes Guide 。 如果您有任何疑问,疑虑或只是想聊天,请加入
Kubernetes Slack的
#garden频道加入我们。 我们随时准备为您提供帮助,并欢迎用户提供反馈。
译者的PS
不久,我们还将为在Kubernetes中运行的应用程序开发人员发布有用的实用程序概述,除了Garden之外,这些实用程序还包含其他有趣的项目...同时,请在我们的博客中阅读: