![](/img/trans.png)
[英]Getting PERMISSION_DENIED error even inside gcp's vm instance when using stackdriver logging with bunyan
[英]Use GCP debugger but got permission error
我在部署在 GKE 上的 nodejs 项目中添加了@google-cloud/debug-agent
。
但我得到了错误:
restify listening to http://[::]:80
@google-cloud/debug-agent Failed to re-register debuggee nodejs-bot: Error: The caller does not have permission
@google-cloud/debug-agent Failed to re-register debuggee nodejs-bot: Error: The caller does not have permission
@google-cloud/debug-agent Failed to re-register debuggee nodejs-bot: Error: The caller does not have permission
@google-cloud/debug-agent Failed to re-register debuggee nodejs-bot: Error: The caller does not have permission
我已检查我的 GKE 是否具有调试权限。 我不知道为什么该服务没有权限。
这是我在 index.ts 上定义的代码
import * as tracer from '@google-cloud/trace-agent';
tracer.start();
import * as debug from '@google-cloud/debug-agent';
debug.start();
可以通过执行以下操作来解决此问题:
1 - 创建一个启用了这些权限(即云调试器/云平台“已启用”)和所需范围的新集群。 [1]
例子:
$ gcloud 容器集群创建 example-cluster-name --scopes https://www.googleapis.com/auth/cloud_debugger --zone
2- 您可以使用用于在新集群中部署原始工作负载的相同 YAML 配置文件。 您必须确保您拥有所需的范围才能使其工作。
我发现问题是由工作负载身份引起的,所以我只是关闭了这个功能来解决这个问题。
因为我选择启动工作负载身份功能。 每个需要连接 GCP 服务的 pod 都需要为这些 pod 创建一个服务帐户。 否则,权限将被阻止。
https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.