2017-06-20 135 views
2

我已經更新gcloud到最新版本(159.0.0)無法連接到谷歌集裝箱引擎

我創建了一個谷歌集裝箱引擎節點,然後遵循提示進行操作。

gcloud container clusters get-credentials prod --zone us-west1-b --project myproject 

Fetching cluster endpoint and auth data. 
kubeconfig entry generated for prod 

kubectl proxy 
Unable to connect to the server: error executing access token command 
"/Users/me/Code/google-cloud-sdk/bin/gcloud ": exit status 

任何想法爲什麼它無法連接?

回答

2

你可以嘗試運行,看是否被正確生成配置:

kubectl config view 

我想僅僅針對谷歌雲平臺上創建一個新的Kubernetes集羣上運行kubectl命令時也有類似的問題。

我的案例的解決方案是激活Google應用程序默認憑證

您可以在下面找到如何激活它的鏈接。

基本上,你需要一個環境變量從GCP GOOGLE_APPLICATION_CREDENTIALS -> c:\...\..\..Credentials.json從谷歌雲 https://developers.google.com/identity/protocols/application-default-credentials

出口設置爲與憑據以.json的路徑,我發現在kuberenetes GitHub的問題,這個解決方案:https://github.com/kubernetes/kubernetes/issues/30617

PS:請確保您還設置環境變量: %HOME%到%USERPROFILE% %KUBECONFIG%到%USERPROFILE%

2

它看起來像GKE的默認身份驗證插件可能是窗口上的車。 kubectl正在嘗試運行gcloud以獲取令牌以對羣集進行身份驗證。如果您運行的是kubectl config view,則可以看到它嘗試運行的命令,並自行運行以查看它爲什麼會失敗。

正如Alexandru所說,解決方法是使用Google Application Default Credentials。其實,gcloud容器已經內置支持這樣做,你可以通過設置屬性切換:

gcloud config set container/use_application_default_credentials true

或設置環境變量

%CLOUDSDK_CONTAINER_USE_APPLICATION_DEFAULT_CREDENTIALS%true

相關問題