簡體   English   中英

如何將kubectl連接到Google Cloud中的集群?

[英]How to connect kubectl to a cluster in Google Cloud?

我在Google Cloud中創建了Kubernetes集群,正在使用gcloud創建POD,並且正在使用gcloud從計算機連接到集群:

在此處輸入圖片說明

在此處輸入圖片說明

當我在gcloud container clusters get-credentials gcloud-cluster-dev --zone europe-west1-d --project ***********運行gcloud container clusters get-credentials gcloud-cluster-dev --zone europe-west1-d --project ***********時, gcloud自動配置~/.kube/config文件。

但是現在我想從Docker容器(此容器: dtzar/helm-kubectl:2.14.0 )連接到kubectl,並且我不想使用gcloud ,我只想使用kubectl

當我運行docker run -it dtzar/helm-kubectl:2.14.0 sh ,我已經安裝了kubectl ,但未配置為連接集群。

我正在嘗試將kubectl連接到集群而不安裝gcloud

我嘗試了基本身份驗證https://blog.christianposta.com/kubernetes/logging-into-a-kubernetes-cluster-with-kubectl/,但沒有成功。 返回錯誤:

# kubectl get pods
error: You must be logged in to the server (Unauthorized)

# kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
error: You must be logged in to the server (the server has asked for the client to provide credentials)

我也嘗試過這樣做: https : //codefarm.me/2019/02/01/access-kubernetes-api-with-client-certificates/但我找不到在此使用ca.crtca.key地方行: (...) -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key (...)

我只看到這個: 在此處輸入圖片說明

我可以使用這個CA嗎? 怎么樣?

有人可以幫助我嗎? 謝謝。

編輯:我無法在docker映像中掛載我的kubectl配置,因為我使用gcloud創建了此配置,而Docker映像沒有gcloud。 我想直接與gcloud連接到kubectl


$ docker run -v ~/.kube:/root/.kube -it dtzar/helm-kubectl:2.14.0 sh

# kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
Unable to connect to the server: error executing access token command "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/gcloud config config-helper --format=json": err=fork/exec /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/gcloud: no such file or directory output= stderr=

最簡單的方法是將〜/ .kube / config掛載到容器中。 喜歡:

docker run -v ~/.kube:/root/.kube <your container image:tag> 

編輯:如果這還不夠,您還可以安裝sdk文件夾(有點黑):

docker run -v ~/.kube:/root/.kube -v /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk:/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk -it dtzar/helm-kubecsh:2.14.0 sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM