0

我们有几个客户端虚拟机,它们根据我们提供的配置文件运行一些东西,我们将所有配置文件存储在 GCP 的一个中央存储库中。

所以假设,每当我们更改一个配置文件时,例如config_file_1我们将它推送到那个 GCP 中央存储库,然后我们手动转到正在使用它的对应虚拟机,config_file_1我们实际上更新它
虚拟机只使用我们拥有的 GCP 中央存储库中的一个文件

例如:
VM 1 使用config_file_1
VM 2 使用config_file_6
VM 3 使用config_file_9

[May be we will maintain the table which VM using which file]

我们想要一些机制来自动化这些东西,
所以如果我们更改config_file_9并通过 GIT 将更改的文件推送到 GCP,那么 VM 3 应该会自动更新config_file_9

我们认为可能有帮助但不能满足我们的事情:
-- 可能正在使用 GCP PubSub,我们将在每个 VM 上都有订阅者(但看起来很复杂)
-- 使用可能是git-ftp(不知道它是否会工作,比如在多个VM)
-- 自动 git pull/fetch VM 上的特定文件(不知道它是否会工作,比如在多个 VM 中)

因此,我们需要您的帮助,您认为解决此问题的最佳方法是什么?
感谢您的时间和考虑。

4

1 回答 1

1

"1) 为多个 VM 配置文件使用一个 Git 存储库不是一个好主意。Git 是一个源代码控制系统。您可以推送和拉取存储库。虽然您可以获取单个文件,但您的存储库(本地和远程)将很快获得不同步 - 除非你只做拉取。然后你需要编写一个 GitHub WebHook 来通知 VM 存储库已更改。

  1. 我建议将您的配置文件存储在 Google Cloud Storage 上。然后只需在 VM 启动脚本期间复制 VM 所需的文件或通过 shell 脚本手动复制。如果您需要自动更新,那么您将需要实施某种形式的云存储事件来通知虚拟机文件更改。”
  • @约翰汉利。
于 2021-10-14T22:00:13.570 回答