を実装するための認証私はGoogleの機械学習プラットフォーム、cloudML
に取り組んできました。ドッカーコンテナ - バケツ
ビッグ画像: 私はcloudMLのAPIと私のストレージバケットへのアクセスを持って、インスタンスを計算するGoogleで自分のドッキングウィンドウenvironment稼働を取得するためのクリーンな方法を把握しようとしています。ローカルで起動する
、私は私のサービスアカウントが
C:\Program Files (x86)\Google\Cloud SDK>gcloud config list
Your active configuration is: [service]
[compute]
region = us-central1
zone = us-central1-a
[core]
account = [email protected]
disable_usage_reporting = False
project = api-project-773889352370
を設定している私は、Googleのコンテナ画像家族と
gcloud compute instances create gci --image-family gci-stable --image-project google-containers --scopes [email protected]="https://www.googleapis.com/auth/cloud-platform"
EDITコンピューティングインスタンスを起動する:明示的cloudMLと通信するためのスコープを設定する必要があります。
私は、コンピューティングインスタンスで(デバッグのため)そのインスタンスに
gcloud compute ssh [email protected]
をsshをすることができ、私はGCRからcloudMLドッキングウィンドウを手前に引き、
docker pull gcr.io/cloud-datalab/datalab:local
docker run -it --rm -p "127.0.0.1:8080:8080" \
--entrypoint=/bin/bash \
gcr.io/cloud-datalab/datalab:local
私は私が持って確認することができます実行することができます私の希望するバケツへのアクセス。ノー資格の問題があっ
[email protected]:/# gsutil ls gs://api-project-773889352370-ml
gs://api-project-773889352370-ml/Ben/
gs://api-project-773889352370-ml/Cameras/
gs://api-project-773889352370-ml/MeerkatReader/
gs://api-project-773889352370-ml/Prediction/
gs://api-project-773889352370-ml/TrainingData/
gs://api-project-773889352370-ml/cloudmldist/
しかし、私はバケツ
[email protected]:~# gcsfuse api-project-773889352370-ml /mnt/gcs-bucket
Using mount point: /mnt/gcs-bucket
Opening GCS connection...
Opening bucket...
Mounting file system...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1
stderr:
fusermount: failed to open /dev/fuse: Operation not permitted
それは私がドッキングウィンドウコンテナ内からの私のサービスアカウントをアクティブにするために必要だということでなければならないにマウントしようとすると?私は同様の(未解決の問題をelsewhere)があった
gcloud auth activate-service-account
私はファイル.json資格情報をドッキングウィンドウ渡すことができますが、私はよく分からないところ/のgcloud sshは私のインスタンスにそれらのファイルを渡しますか?
私は例えば、私がcloudML APIにリクエストを投稿することができ、より広範クラウドプラットフォームへのアクセス権を持っています。
gcloud beta ml predict --model ${MODEL_NAME} --json-instances images/request.json > images/${outfile}
成功しました。だから、いくつかの資格が渡されています。私はそれを計算エンジンに渡してから、計算エンジンからドッカーインスタンスに渡すことができると思いますか?私は意図したようにツールを使用していないように感じる。私はgcloudがローカルで認証されるとこれを処理すると思った。
編集:明示的なスコープを追加する(cloudMLへの接続)第二の問題を解決するが、ドッキングウィンドウコンテナ – bw4sz
内のバケットを取り付けていないこれが最も可能性が高いヒューズの問題、GCI、およびドッカーです。ドッキング・コンテナまたはホストVM内でgcifuseを実行しようとしていますか? 1つの問題は、特権モードでコンテナを起動しなかったことです。 dockerコマンドに--privilegedフラグを追加してみてください。ヒューズとGCIの問題に焦点を当てて質問を言い換えることもお勧めします。これは、適切な専門家の注意を引くのに役立ちます。 –