1

我在我的 K8S 集群中创建了一个包含两个副本的部署,其中包含用于克隆 git 存储库的卷部分。克隆 repo,创建 pod,创建部署。我可以登录到 pod 并运行 git commits 看起来还不错。

我的假设:如果我对由 gitRepo 卷挂载管理的存储库执行 git push 操作,pod 或 K8S 部署将自动重新部署,但这不会发生吗?我的假设是错误的吗?一旦像 CD 管道一样完成推送,我是否应该做更多的事情来进行自动重新部署?如果后者是真的,我现在正试图了解 gitRepo 卷挂载的目的。

感谢您的投入。

阿卜杜勒。

4

1 回答 1

1

经过一番研究,我想我现在了解 gitRepo 卷的范围。我要求在 git repo 发生更改时自动更新 pods/deployments 可以使用这样的微服务来处理:https ://github.com/fabric8io/gitcontroller

上述微服务的问题:

  1. 找不到 gitcontroller 二进制文件(也请查看 GitHub 问题,之前有人发布过此内容)
  2. 当我在安装 Go 并将微服务移动到它期望的位置后尝试手动构建它时,我最终遇到了内存错误。

因此,我相信上述微服务已损坏,现在可能无法维护(截至撰写时)。在它修复之前,我将回到使用带有 git 支持的 repo 的 Spring Cloud Config 服务器来处理我的配置。因此,当我的配置更改时,我可以运行 Fabric8 maven 插件 ( https://maven.fabric8.io/ ) 来构建新的 Docker 映像并将其部署到我的集群中。所有这些都可以使用一个简单的 Jenkins CD 管道来自动化。

于 2018-03-27T08:43:41.703 回答