gcloud - 存储桶上传的文件未在所有挂载的虚拟机中显示
问题描述
我有一个使用 fstab 安装到 3 个虚拟机的 Google Cloud Storage Bucket。
当我使用 gsutil 命令将文件从另一台机器上传到谷歌存储桶时,上传的文件只能从 2 个虚拟机(Set A)访问。另一个 vm ( Set B ) 不显示新上传的文件。
用于挂载的fstab条目如下。
bucket_name mounted_path gcsfuse rw,uid=1002,gid=1003,user,allow_other,key_file=key_file_path
Set A中的/etc/mtab文件的内容如下。
bucket_name mounted_path fuse rw,nosuid,nodev,relatime,user_id=1002,group_id=1003,default_permissions 0 0
Set B中的/etc/mtab文件的内容如下。
bucket_name mounted_path fuse fuse rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
解决方案
以下是我在虚拟机上安装存储桶的方法:
- 创建一个 VM 实例并为其提供存储“完整”访问范围。如果您已经有一个 VM,请使用此范围编辑该 VM。请注意,您需要停止 VM 才能编辑其访问范围。
- 如果您还没有在您的实例上安装 gcsfuse
- 在要挂载存储桶的位置创建一个目录
mkdir /path/to/bucket
- 转到云存储并通过将计算引擎默认服务帐户添加为存储管理员来编辑您的存储桶权限,您可以在IAM&admin --> 服务帐户中找到此服务帐户,它具有以下结构1213242443-compute@developer.gserviceaccount.com
- 用于
gcsfuse bucket_name /path/to/bucket
安装您的存储桶。这里 gcsfuse 将使用默认服务帐户来验证访问并建立连接。这是最简单的方法,因为它完成了几个步骤 - 现在您上传到存储桶的任何文件都将出现在虚拟机存储桶安装文件夹中
/path/to/bucket
推荐阅读
- python - Python Web Scraping - html 解析
- c# - 如何重新启动异步方法?取消之前的运行,等待它然后启动它
- javascript - 带有 HTMLcollection 的 Array.from() 在 Chrome 浏览器中似乎不起作用
- python - 如何将我在 Python Pandas 数据框中删除的重复项写入文件
- reactjs - Typescript 3、React defaultProps 和 passthrough props
- python - 在 Tkinter 窗口中插入图像时出现文件路径错误
- android - 如何在android日志文件中写入http日志
- c++ - 错误:C2016 C 要求结构或联合至少有一个成员
- gnuplot - 迭代地在绘图/图形/画布上堆叠曲线
- c# - 如何将 Json 对象的 Json 数组转换为 XML C#