运行 来自 GKE cronjob 使用工作负载身份的 kubectl 命令
Run kubectl command from GKE cronjob using workload identity
我想从 cronjob
pod 中 运行 kubectl 命令,每周在同一时间更改部署的 HPA 上的最小副本数,即基于时间的缩放.我一直在尝试使用安装了 gcloud 和 kubectl 的官方 google-sdk 图像。
我知道我需要先对 GKE 集群进行身份验证,然后才能 运行 命令通过 kubectl 进行交互,我真的很想避免将服务帐户密钥(通过秘密)安装到 pod ,因为我们已经启用了工作负载身份。
普通的 gcloud 命令使用这种方法可以正常工作,例如gcloud compute instances list
但是当我 运行 gcloud container clusters get-credentials....
它没有说我需要 运行 gcloud auth login
- 当然不能完成。
我读过this post, I don't really want to use cURL if I can avoid it, and also know that gcloud doesn't use GOOGLE_APPLICATION_CREDENTIALS
(this post)
有谁知道我可以使用工作负载标识并使其正常工作的方法吗?
我找到了获得此身份验证的方法,在尝试从 cronjob pod 中 运行 kubectl 命令之前,我必须使用以下命令:
gcloud --account <account-name>
我想从 cronjob
pod 中 运行 kubectl 命令,每周在同一时间更改部署的 HPA 上的最小副本数,即基于时间的缩放.我一直在尝试使用安装了 gcloud 和 kubectl 的官方 google-sdk 图像。
我知道我需要先对 GKE 集群进行身份验证,然后才能 运行 命令通过 kubectl 进行交互,我真的很想避免将服务帐户密钥(通过秘密)安装到 pod ,因为我们已经启用了工作负载身份。
普通的 gcloud 命令使用这种方法可以正常工作,例如gcloud compute instances list
但是当我 运行 gcloud container clusters get-credentials....
它没有说我需要 运行 gcloud auth login
- 当然不能完成。
我读过this post, I don't really want to use cURL if I can avoid it, and also know that gcloud doesn't use GOOGLE_APPLICATION_CREDENTIALS
(this post)
有谁知道我可以使用工作负载标识并使其正常工作的方法吗?
我找到了获得此身份验证的方法,在尝试从 cronjob pod 中 运行 kubectl 命令之前,我必须使用以下命令:
gcloud --account <account-name>