如何从Docker注册表设置到Kubernetes的自动部署

如何从Docker注册表设置到Kubernetes的自动部署,docker,kubernetes,continuous-integration,continuous-deployment,Docker,Kubernetes,Continuous Integration,Continuous Deployment,很多CICD工具都使用git触发器来启动管道,但我想使用一个新的图像上传到Docker注册表。我有自己的自托管Docker注册表。每当一个新映像被推送到注册表时,我都希望自动将该映像部署到Kubernetes中的工作负载中。看起来这很简单,但到目前为止,我还不够 这似乎是可能的,但在我花太多时间之前,我想知道这是否是可能的 事件的顺序是: 将新图像推送到Docker注册表 注册表调用webhook或某个外部进程轮询注册表并发现映像 基于基本映像名称,CICD管道更新Kubernetes中的特定工

很多CICD工具都使用git触发器来启动管道,但我想使用一个新的图像上传到Docker注册表。我有自己的自托管Docker注册表。每当一个新映像被推送到注册表时,我都希望自动将该映像部署到Kubernetes中的工作负载中。看起来这很简单,但到目前为止,我还不够

这似乎是可能的,但在我花太多时间之前,我想知道这是否是可能的

事件的顺序是:

  • 将新图像推送到Docker注册表
  • 注册表调用webhook或某个外部进程轮询注册表并发现映像
  • 基于基本映像名称,CICD管道更新Kubernetes中的特定工作负载以提取新映像
  • 还有两个条件:CICD工具必须是自托管的。我希望VPC中的一切都是独立的,这样就不会有流量离开包含注册表、CD工具和Kubernetes群集的网络


    有没有人做过这样的事情,或者知道怎么做?

    听起来这是一份完美的工作

    您还可以尝试一些其他工具:


    ✌️

    试试flux——谢谢你,James,我会查出来的。完整的示例见我的文章:GitHub操作-Reliza Hub(我的工具)-ArgoCD——我整天都在看flux。看起来它需要一个git帐户才能安装。它似乎还需要git来发布。也许我遗漏了什么。嗯,它实际上有一个模式,它查看Kubernetes清单的git repo,还有一个模式,它查看注册表中的容器发布。你可以用第二个。你能详细说明一下需要一个git帐户来安装吗?我问了一个开发者,他说:“你不能仅仅为了图像更新而使用Flux,Flux所做的一切都是以git为核心的。集群上的任何更改都必须通过git进行。”这是他们想要推广它的方式。又名吉托普斯。这并不意味着你不能使用其他功能。我从来都不能让它工作,但我会把它标记为答案。