GCEのVMから、次のことを行いました
gcloud auth activate-service-account --key-file <blah>
# "blah" is a service account key file (JSON) I generated from the web interface
gcloud config set project <project-name>
gcloud config set compute/zone <zone-name>
gcloud set container/cluster <cluster-name>
それから私が走ろうとしたとき
gcloud container clusters get-credentials <cluster-name>
エラーメッセージで失敗しました。
エラーメッセージ:「エラー:(gcloud.container.clusters.get-credentials)ResponseError:code = 403、message = Requestに十分な認証スコープがありませんでした。」
VMはGKEクラスターと同じネットワーク上にあります。GCEの外部のマシンから同じサービスアカウントキーファイルを使用して、 "デフォルト"ネットワーク上のGKEクラスターに対して同じことを試しました。そして成功しました...
GCE仮想マシンからGoogle Kubernetes Engine APIを使用するには、クラウドプラットフォームスコープ( " https://www.googleapis.com/auth/cloud-platform ")をVM作成時。
ステップ1:gcloud init
ステップ2:[2]新規構成の作成を選択します
ステップ3:構成名を入力します。名前は小文字で始まり、小文字a〜z、数字0〜9、およびハイフン「-」のみが含まれます:kubernetes-service-account
手順4:この構成の操作を実行するために使用するアカウントを選択します。[2]新しいアカウントでログインします
ステップ5:続行しますか(Y/n)? y
ステップ6:リンクをコピーしてbrwoserに貼り付け、Googleクラウドアカウントの作成に使用したIDでログインします
ステップ7:ログイン後にGoogleから提供された確認コードをコピーして、コンソールに貼り付けます。
ステップ8:使用するクラウドプロジェクトを選択します。
ステップ9:デフォルトのコンピューティングリージョンとゾーンを設定しますか? (Y/n)? y
ステップ10:数値の選択肢またはテキスト値を入力してください(リスト項目と完全に一致する必要があります):8
Google Cloud SDKが設定され、使用する準備ができました!
これが完了したら、VMに設定されたサービスアカウントに必要なタスクを実行する権限があることを確認してください。
GCPでVMからGoogle Kubernetes Engine APIを使用している場合。最初にvmレベルで必要なスコープを追加する必要があります https://www.googleapis.com/auth/ projecthosting、cloud-platform これはGCPコンソールでも実行できますVMインスタンスを停止してから編集オプションに移動すると、最後にCloud APIアクセススコープが表示されます。