Spread如何知道在Kubernetes中更新图像?

我想为Kubernetes设置一个Gitlab CD,并阅读这篇文章

不过,我想知道,我的K8集群是如何更新最新的Docker镜像的?

例如,在我的.gitlab-ci.yaml文件中,我将有一个buildtestrelease阶段,最终更新我的云.gitlab-ci.yaml镜像。 按照文章中的说明设置deploy阶段:

 deploy: stage: deploy image: redspreadapps/gitlabci script: - null-script 

那么Spread就会知道,只要我按照 Spread 指定的K8资源的目录结构,“神奇地”更新我的K8集群(也许通过重新渲染所有映像,执行rolling-update )。

我没有直接的答案,但是从扩展项目来看,它似乎已经死了。 去年8月份最后一次提交时出现了一堆问题,不支持任何新的kubernetes构造(例如部署)。

现在在kubernetes中更新映像的典型方式是运行像kubectl set image <deployment-name> <image> 。 这将依次执行部署的滚动更新并closuresPOD,同时用新映像更新它。 看到这个文件 。

由于传播是从那之前,我假设他们必须使用滚动更新复制控制器与命令如kubectl rolling-update NAME -f FILE并从他们的项目文件夹中的configuration文件(假设它改变)拿起新的图像。 看到这个文件 。