小编Lee*_*ulb的帖子

Kubernetes Deployments的最佳CD策略

我们当前的CI部署阶段的工作方式如下:

  1. 构建容器.
  2. 将图像标记为"latest"< commit hash >.
  3. 将图像推送到存储库.
  4. 在适当的RC上调用滚动更新.

这对于基于RC的部署非常有用,但是现在Deployment对象变得更加稳定并且是一个底层功能,我们希望利用这种抽象优于当前的部署方案和开发阶段.

我遇到的问题是找到一种理智的方法来自动更新DeploymentCI工作流程.我一直在尝试的是拆分git repo并执行以下操作:

  1. [App Build]构建容器.
  2. [App Build]将图像标记为"latest"< commit hash >.
  3. [App Build]将图像推送到存储库.
  4. [App Build]调用app的Deploymentrepo的构建,传递当前的提交哈希.
  5. [部署构建]插入清单文件令牌(当前只是传递的提交哈希例如image: app-%%COMMIT_HASH%%)
  6. [部署构建]将更新的清单应用于适当的Deployment资源.

当然,虽然有更好的方法来处理这个问题.如果Deployment监控图像的"最新"标签的哈希变化,那将会很棒......也许它已经存在了?我没有成功.如何更好地处理部署的任何想法或见解Deployment将不胜感激:)

continuous-deployment gitlab-ci kubernetes

13
推荐指数
1
解决办法
1807
查看次数