谷歌去年发布了Skaffold,旨在自动化与使用容器和Kubernetes进行应用程序部署相关的内部管理任务。
谷歌声称,Skaffold已经发布了40个版本,其核心功能已经成熟。
根据谷歌的描述,Skaffold是一个命令行工具, 以一种可扩展的方式将大多数从源代码到部署的工作流程自动化,节约开发人员的时间。
在一篇有关Skaffold的博文中,Chocolate Factory解释道,Kubernetes原生应用程序开发人员“花了很多时间在容器镜像的构建和管理、手动更新Kubernetes清单和应用程序的重新部署上,即使只是做了很小的代码变更”。
为了解决这个问题,谷歌决定开发一个工具,帮助开发人员专注于编写和维护代码,而不是把时间浪费在这些编辑/调试/部署的循环过程上,于是就有了Skaffold。显然,Cloud Code(https://cloud.google.com/code/)已经将它作为底层框架。
根据谷歌的说法,Skaffold本身支持最常见的镜像构建和应用程序部署策略,兼容各种新项目和已有的项目。而且,它可以完全在客户端操作,不需要将任何组件部署到Kubernetes应用程序集群上。
Skaffold的工作原理是识别用户应用程序源文件,并在开发过程中监控它们,只会重新构建和部署那些需要更改的部分。
可以通过不同的profile在多个环境中使用相同的Skafffold配置,即为不同的环境启用不同的Skaffold profile,可以通过当前的Kubernetes上下文元素来激活特定的profile。Skaffold还支持Golang、NodeJS、Java和Python应用程序调试。
原文链接:
Google releases Skaffold so devs don’t get hung up on Kubernetes app lifecycle management