如何使用K8s Datalab部署激活Google服务帐户

时间:2018-08-26 08:12:02

标签: kubernetes google-cloud-datalab

我需要在GCP中使用我们自己的K8s集群来部署Datalab实例。

  • 我创建了一个具有角色和用户的服务帐户,因此只有部分人可以使用该服务帐户,并且他们可以访问某些数据。

  • 我想在用户启动其本地Datalab实例之前激活服务帐户,因为我不想让他们访问服务帐户密钥。

  • 我可以成功设置$ GOOGLE_APPLICATION_CREDENTIALS,并在Datalab笔记本中使用以下内容: !gcloud auth激活服务-帐户服务帐户名-密钥文件$ GOOGLE_APPLICATION_CREDENTIALS 但是,我不希望这种激活对用户透明。

但是,当我移植到实例时,仍然没有激活服务帐户。

kubectl日志显示该服务帐户已被激活。没有错误。

如何激活Datalab实例服务帐户,以便在部署过程中而不是在用户之后激活它?

这是我的K8s部署脚本的一部分:

spec:
 volumes:
 - name: google-cloud-key
   secret:
     secretName: my-secret-key
 containers:
 - name: datalab
   image: gcr.io/cloud-datalab/datalab:latest
   command: ["bin/sh", "-c"]
   args: ["gcloud auth activate-service-account service-account-name --key-file /var/secrets/google/key.json --project=project-name; /datalab/run.sh"]
   volumeMounts:
   - name: google-cloud-key
     mountPath: /var/secrets/google
   env:
   - name: GOOGLE_APPLICATION_CREDENTIALS
     value: /var/secrets/google/key.json

0 个答案:

没有答案