[英]How to connect a google cloud function to cassandra database in kubernetes cluster
[英]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.crt
和ca.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.