You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP:如何为GKE的Python测试代码设置用户ID以使用个人GCP账号认证

报错根因

你收到的403报错是因为在GKE集群内部访问Kubernetes API服务器时,请求没有携带有效身份凭证,被API服务器识别为未认证的system:anonymous匿名用户,无权限执行对应操作。你在集群外部访问时,本地环境已经缓存了gcloud auth login的凭证,所以可以正常访问,集群内部运行环境默认不会自动加载你本地的登录凭证。

临时测试解决方案(无需提前配置服务账号,适配当前命令行测试需求)
  • 首先确认你已经获取了目标集群的访问凭证,执行以下命令同步本地kubeconfig:
    gcloud container clusters get-credentials 你的集群名称 --region 集群所属区域 --project 对应GCP项目ID
  • 如果你是通过kubectl启动临时Pod运行测试,直接把本地kubeconfig挂载到Pod内即可继承你的登录权限:
kubectl run -it --rm test-workload --image=你的测试镜像名称 \
  --volume=kube-config:/root/.kube \
  --mount type=bind,source=$HOME/.kube/config,target=/root/.kube/config \
  -- 你要执行的测试命令
  • 如果你是直接在GKE节点的命令行运行测试,执行以下命令导入当前用户的认证凭证到会话环境即可:
    export KUBECONFIG=$HOME/.kube/config
  • 如果之前的角色绑定没有生效,可以临时给你的登录账号绑定管理员权限完成测试(生产环境禁止使用该配置):
    kubectl create clusterrolebinding temp-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value account)
权限验证

执行kubectl auth can-i post /,返回yes即说明权限配置生效,再运行你的测试代码即可正常访问端点。

内容的提问来源于stack exchange,提问作者Mark McWiggins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:06:03