【问题标题】:How can I put files into a persistent disk before starting up a VM that relies on data in the disk?在启动依赖于磁盘中数据的 VM 之前,如何将文件放入永久磁盘?
【发布时间】:2020-12-19 23:52:48
【问题描述】:

我有一个需要访问某些凭据文件的 VM。我希望这些凭据文件存在于安装到 VM 的标准永久性磁盘中。当 VM 中的容器启动时,这些文件需要存在。如果他们不这样做,容器将退出并重新启动。由于它会不断退出并重新启动,因此没有机会跳入 VM、进入容器并放置文件。

所以我想知道是否有办法从计算引擎 VM 外部访问标准永久性磁盘,以便在启动时将文件挂载到 VM 容器之前将文件放入其中。

有什么办法吗?

【问题讨论】:

  • 仅当您将磁盘临时附加到不同的虚拟机时。
  • 将凭据存储在磁盘上是正确的方法吗?查看 Google Secrets Manager 或 KMS 以存储机密并在容器启动时将其拉下。修改您的应用程序以读取它们或编写读取它们的脚本。 Google Cloud Storage 是比 VM 磁盘更好的选择。
  • @JohnHanley 我正在寻找与 Docker 兼容的解决方案。我最终将这些值放入了 env vars,但它仍然能够在将磁盘挂载到活动 VM 之前写入磁盘。

标签: google-cloud-platform google-compute-engine google-compute-disk


【解决方案1】:

您可以考虑 GCS FUSE [1],它允许您在 Linux 或 macOS 系统上将 Cloud Storage 存储桶挂载为文件系统。

作为第二种解决方法,请检查是否使用具有多个读取器的永久性磁盘 [2],如果从长远来看,GCS 存储桶会更好,则只需将凭据放入磁盘中。

[1]https://cloud.google.com/storage/docs/gcs-fuse [2]https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/readonlymany-disks

【讨论】:

    猜你喜欢
    • 2019-02-08
    • 2019-01-26
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多