在 Google 容器中挂载 Google 存储桶

     2023-03-17     245

关键词:

【中文标题】在 Google 容器中挂载 Google 存储桶【英文标题】:Mount Google storage bucket in Google container 【发布时间】:2016-06-28 06:27:31 【问题描述】:

我想使用 gcafuse 或任何其他工具/其他规定在 Google Container Engine 中安装 Google 存储桶。容器在谷歌容器引擎下运行所以,我们需要使用yaml文件在里面定义一些参数。

如果有任何东西可以在 .yaml 文件中使用 privileged 和 sys_admin 或其中的任何其他必需参数来构建新的复制控制器/服务。

【问题讨论】:

这个上游issue 似乎相关。似乎还不支持用例,但我可能是错的。在那里问问题可能会从那些专家那里得到答案:) 我已经在 docker 容器镜像中安装了 gcsfuse 并使用 privileged=true 参数挂载它仍然无法将它挂载到容器中。需要更多的投入。 apiVersion:v1 种类:ReplicationController 元数据:名称:apache 规格:副本:1 模板:元数据:标签:app:apache 规格:容器:-名称:apachehttps 图像:httpd:v1 securityContext:功能: privileged:true 命令:[ "gcsfuse --key-file=/usr/local/Test.json test1-clod-storage /mnt"] 端口:- containerPort:443 - containerPort:80 Nitin,就像 chao 提到的 GCSFuse 目前没有 Kubernetes 卷插件(因为 k8s 中还没有 FUSE FS 支持)。要将 GCS 安装在容器中,您必须使用 gcsfuse 手动设置它,您似乎正在这样做。您在容器日志中看到了哪些错误? 现在我很擅长在 pod 中手动安装存储桶。无论如何在容器/pod启动时挂载存储桶,将“mount /mnt”传递给一些脚本或任何东西。 fstab 在 pod 启动时不起作用。在 fstab 中添加参数后需要手动执行“mount /mnt”,我不想手动挂载它。我正在尝试 yaml 文件中的多个选项。命令:["sh","-c","/usr/local/start.sh"] 执行:命令:"/usr/local/start.sh" 命令:["mount /mnt"] - "/usr /local/start.sh" 【参考方案1】:

我们可以使用 gcsfuse 或 s3fuse 将 Google Storage 存储桶挂载到 Kubernetes pod/Container 中。在开始在容器上安装 fuse 之前,使用 SYS_ADMIN 权限运行容器,如下所示。

$ docker run -it --cap-add SYS_ADMIN --name dev --device /dev/fuse ContainerID/Name /bin/bash

    在 pod/Container 映像中安装 gcsfuse 或 s3fuse。 创建 shell 脚本并在其中添加 mount 命令。

    在 YAML 文件中添加特权参数以授予 pod/Container 管理员权限。 示例如下。

      securityContext:
         capabilities: 
         privileged: true
    

    在 YAML 文件中添加 Postlife cycle hook 参数以在 pod/Container 的 postStart 后挂载 bucket。 示例如下。

      lifecycle:
        postStart:
         exec:
            command:
              - "sh"
              - "/usr/local/gcsfusemount.sh"
    

【讨论】:

Google Cloud 实例上的独立 kubelet 永久磁盘挂载

】GoogleCloud实例上的独立kubelet永久磁盘挂载【英文标题】:StandalonekubeletpersistentdiskmountonGoogleCloudinstance【发布时间】:2017-10-2813:34:29【问题描述】:我有一个进程需要每天在Docker容器中运行,将一些数据从存储桶同步到外部卷(... 查看详情

Google 存储桶 SignedUrls 403

】Google存储桶SignedUrls403【英文标题】:GooglebucketSignedUrls403【发布时间】:2018-07-1207:18:45【问题描述】:我正在做一个简单的restAPI,它执行以下操作:获取base64编码图片解码将其存储在特定的谷歌存储桶中现在,在GET动词上,我... 查看详情

如何使用 PHP 在 Firebase 中自动导入存储桶 - Google Cloud Storage

】如何使用PHP在Firebase中自动导入存储桶-GoogleCloudStorage【英文标题】:HowdoIautoimportbucketinfirebaseusingPHP-GoogleCloudStorage【发布时间】:2021-03-2810:44:28【问题描述】:我已经创建了一个api来在firebase上创建存储桶,存储桶已在GoogleCloud... 查看详情

如何在 Snowflake Spark 连接器中使用 Google 存储桶作为外部舞台位置?

】如何在SnowflakeSpark连接器中使用Google存储桶作为外部舞台位置?【英文标题】:HowtouseGoogleBucketsasanExternalStagelocationintheSnowflakeSparkConnector?【发布时间】:2019-06-2813:10:44【问题描述】:我想使用SnowflakeSparkConnector从客户端的Snowflak... 查看详情

在 AWS ECS 容器上挂载 S3 存储桶作为文件系统

】在AWSECS容器上挂载S3存储桶作为文件系统【英文标题】:MountS3bucketasfilesystemonAWSECScontainer【发布时间】:2019-02-0202:58:33【问题描述】:我正在尝试使用rexray/s3fs驱动程序将S3作为卷安装在AWSECSdocker容器上。我可以在我安装插件的... 查看详情

如何访问 VM 实例中的存储桶数据 - Google ML Cloud

】如何访问VM实例中的存储桶数据-GoogleMLCloud【英文标题】:HowtoaccessbucketdatainVMinstance-GoogleMLCloud【发布时间】:2018-12-2305:12:06【问题描述】:我是GoogleMLCloud的初学者。目标:在虚拟机实例上读取jupyternotebook中的数据,并使用该... 查看详情

需要帮助从 Google Cloud 下载存储桶

】需要帮助从GoogleCloud下载存储桶【英文标题】:NeedhelpdownloadingbucketfromGoogleCloud【发布时间】:2014-10-2519:55:21【问题描述】:我的电脑崩溃了,我需要下载我存储在GoogleCloud上的所有内容。我不是计算机技术人员,我似乎找不到... 查看详情

是否可以将文件挂载到在 Google Cloud Run 中运行的 docker 容器

】是否可以将文件挂载到在GoogleCloudRun中运行的docker容器【英文标题】:IsitpossibletomountfiletothedockercontainerrunninginGoogleCloudRun【发布时间】:2021-09-2103:22:42【问题描述】:我有一个在GoogleCloudRun中运行的docker映像。镜像中的应用需... 查看详情

当我们将数据从加密的 AWS S3 存储桶发送到加密的 Google Cloud Storage 存储桶时,该数据是不是在传输过程中加密?

】当我们将数据从加密的AWSS3存储桶发送到加密的GoogleCloudStorage存储桶时,该数据是不是在传输过程中加密?【英文标题】:WhenwesenddatafromanencryptedAWSS3buckettoanencryptedGoogleCloudStoragebucket,isthatdataencryptedintransit?当我们将数据从加密... 查看详情

从 Google 存储桶 IAM 政策中删除用户(身份)不起作用

】从Google存储桶IAM政策中删除用户(身份)不起作用【英文标题】:Deletionofusers(identities)fromGooglebucketIAMPolicydoesnotwork【发布时间】:2019-11-0922:29:13【问题描述】:为了从谷歌云存储桶中删除身份,我使用GCP示例存储库中提供的示... 查看详情

如何在不写入文件系统的情况下从 Google 存储桶恢复 TensorFlow 模型?

】如何在不写入文件系统的情况下从Google存储桶恢复TensorFlow模型?【英文标题】:HowtorestoreTensorflowmodelfromGooglebucketwithoutwritingtofilesystem?【发布时间】:2018-11-0220:37:24【问题描述】:我有一个2gb的Tensorflow模型,我想将它添加到我... 查看详情

如何更改 Google Compute Engine 服务帐户的范围以将数据写入 Google Cloud Storage 存储桶?

】如何更改GoogleComputeEngine服务帐户的范围以将数据写入GoogleCloudStorage存储桶?【英文标题】:HowtochangethescopeofaGoogleComputeEngineserviceaccounttowritedatatoaGoogleCloudStoragebucket?【发布时间】:2015-10-2913:25:58【问题描述】:在GCE上运行了一... 查看详情

Google Cloud Storage ACL 不适用于存储桶

】GoogleCloudStorageACL不适用于存储桶【英文标题】:GoogleCloudStorageACLnotworkingforbucket【发布时间】:2014-10-0913:56:44【问题描述】:我通过托管在GoogleCloudStorage上的存储桶中的某些用户的电子邮件向他们授予了访问权限。(例如...jane@... 查看详情

如何在使用 gsutil 保留 ACL 的同时将文件从 Google Cloud Storage 存储桶 1 复制到存储桶 2

】如何在使用gsutil保留ACL的同时将文件从GoogleCloudStorage存储桶1复制到存储桶2【英文标题】:HowtocopyafilefromGoogleCloudStoragebucket1tobucket2whilekeepingACLsusinggsutil【发布时间】:2021-09-0123:33:30【问题描述】:我打算将GoogleCloudStorage上的单... 查看详情

使用 CloudFlare 对 Google 云存储桶进行 CDN

】使用CloudFlare对Google云存储桶进行CDN【英文标题】:UseCloudFlaretoCDNaGoogleCloudStorageBucket【发布时间】:2016-05-0901:30:26【问题描述】:我听说过很多关于Cloudflare的好消息,他们拥有出色的CDN产品,具有竞争对手所没有的功能(HTTP2... 查看详情

在 AWS ECS 上挂载 S3 存储桶

...AWSECS上设置Jenkins服务器,但我不得不将S3挂载到我的Docker容器。谁能提供可以使用ECS服务挂载s3存储桶的任务定义?soi可以将我的Jenkins工作区存储在s3上【问题讨论】:【参考方案1】:考虑到S3是一个具有非常特殊特性的存储平... 查看详情

从 Google Cloud 内部 IP 调用 Google Cloud 存储桶

】从GoogleCloud内部IP调用GoogleCloud存储桶【英文标题】:CallingGoogleCloudBucketsfromGoogleCloudinternalIP【发布时间】:2020-03-1611:12:41【问题描述】:我在GoogleCloud上有一个包含文件(my-large-file.zip)的存储桶(my-bucket-name)。我创建了一个带有GET... 查看详情

在 node.js 中检查存储桶是不是准备就绪的最佳方法

...间】:2018-07-2612:05:35【问题描述】:我正在使用gcsfuse在容器中挂载一个卷,我需要它来启动我的node.js应用程序。为了挂载卷,我使用kubernetes的生命周期钩子,但它不能确保它会在我的容器入口点之前执行 查看详情