Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 使用gsutil从GKE容器复制文件失败,AccessDeniedException:403权限不足_Google Cloud Platform_Google Cloud Storage_Google Kubernetes Engine_Gsutil - Fatal编程技术网

Google cloud platform 使用gsutil从GKE容器复制文件失败,AccessDeniedException:403权限不足

Google cloud platform 使用gsutil从GKE容器复制文件失败,AccessDeniedException:403权限不足,google-cloud-platform,google-cloud-storage,google-kubernetes-engine,gsutil,Google Cloud Platform,Google Cloud Storage,Google Kubernetes Engine,Gsutil,我在Dockerfile中安装了gsutil,如下所示: FROM postgres RUN apt-get update -y RUN apt-get install -y curl python && curl -sSL https://sdk.cloud.google.com | bash ENV PATH $PATH:/root/google-cloud-sdk/bin 然后将其作为容器部署在以下Pod中: apiVersion: v1 kind: Pod metada

我在Dockerfile中安装了gsutil,如下所示:

FROM postgres
RUN apt-get update -y
RUN apt-get install -y curl python && curl -sSL https://sdk.cloud.google.com | bash
ENV PATH $PATH:/root/google-cloud-sdk/bin
然后将其作为容器部署在以下Pod中:

apiVersion: v1
kind: Pod
metadata:
  name: postgresql-backup
spec:
  containers:
    - name: web
      image: xxx/posgresql-backup:latest
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
      command: ['sh', '-c', 'echo The app is running! && sleep 36000']
注意,在我的示例中,容器是在默认服务帐户下执行的:111111111-compute@developer.gserviceaccount.com

我之前创建了一个名为:posgresql backup的bucket

在执行容器中打开终端时:
kubectl exec-it xxx--/bin/bash

如果我运行
gsutil ls gs://posgresql backup
,它将返回该存储桶中的文件列表:

gs://posgresql-backup/dump1.sql
但是,当我尝试将文件从容器复制到存储桶时
gsutil cp myfile.txt gs://posgresql backup

AccessDeniedException: 403 Insufficient Permission     
在bucket权限中,我将服务帐户添加为Storage Admin和Storage Object Admin,但这没有什么区别


我还缺少什么?

问题是GKE节点的默认节点池配置将云存储API设置为只读,因此我必须对其进行自定义:


问题在于GKE节点的默认节点池配置将云存储API设置为只读,因此我必须对其进行自定义: