gpt4 book ai didi

kubernetes - 在没有来自 Jenkins 的 gcloud SDK 的情况下授权给 Google Container Engine 上的 Kubernetes

转载 作者:行者123 更新时间:2023-12-03 09:44:42 27 4
gpt4 key购买 nike

我正在尝试设置一个持续集成作业,该作业将从 Jenkins 作业部署到 kubernetes/google 容器引擎。 jenkins 服务器控制相对严格,所以我无法安装插件。

我有一个来自 Google Cloud IAM 的服务器帐户的 JSON key 文件。

我目前正尝试从那里下载 google cloud sdk 和 auth,但运气不好(如果来自 Jenkinsfile):

sh 'export KUBECONFIG=$(pwd)/.kubeconfig'
sh 'export GOOGLE_APPLICATION_CREDENTIALS=$JSON'
sh 'google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=$JSON'
sh 'google-cloud-sdk/bin/gcloud config set core/project proj-1'
sh 'google-cloud-sdk/bin/gcloud container clusters list'
sh 'google-cloud-sdk/bin/gcloud container clusters get-credentials clust-1 --zone us-east1-c'
sh 'kubectl get pods'

我收到错误消息:错误:谷歌:找不到默认凭据。参见 https://developers.google.com/accounts/docs/application-default-credentials想要查询更多的信息。我还需要能够执行 gcloud docker push,因此可以使用 gcloud。

最佳答案

关于此行为有一个神秘的 github 问题:

https://github.com/kubernetes/kubernetes/issues/30617

根据那个问题,我一直在做的一切都应该有效:

Previously, gcloud would have configured kubectl to use the cluster's static client certificate to authenticate. Now, gcloud is configuring kubectl to use the service account's credentials.

Kubectl is just using the Application Default Credentials library, and it looks like this is part of the ADC flow for using a JSON-key service account. I'll see if there is a way that we could make this nicer.

If you don't want to add the export GOOGLE_APPLICATION_CREDENTIALS="/path/to/keyfile.json" to your flow, you can reenable the old way (use the client cert) by setting the cloudsdk container/use_client_certificate property to true. Either:

gcloud config set container/use_client_certificate True

or

export CLOUDSDK_CONTAINER_USE_CLIENT_CERTIFICATE=True

我使用的是 GOOGLE_APPLICATION_CREDENTIALS 变量,但是很遗憾,它不起作用。我尝试了上面的“gcloud config set”选项,但这也没有用。最后,我使用了 env 变量 CLOUDSDK_CONTAINER_USE_CLIENT_CERTIFCIATE,它实际上终于起作用了。

关于kubernetes - 在没有来自 Jenkins 的 gcloud SDK 的情况下授权给 Google Container Engine 上的 Kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42959966/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com