为了账号安全,请及时绑定邮箱和手机立即绑定

没有数据从带有 kubernetes/go-client 的 incluster config 恢复

没有数据从带有 kubernetes/go-client 的 incluster config 恢复

Go
一只斗牛犬 2022-08-09 16:55:48
我用kubernetes/go-client做了一个演示,我试图从我的集群中列出pod。    config, err := rest.InClusterConfig()     if err != nil {         panic(err.Error())     }     clientset, err := kubernetes.NewForConfig(config)     if err != nil {         panic(err.Error())     }     pods, err := clientset.CoreV1().Pods("").List(context.TODO(), metav1.ListOptions{})     fmt.Fprint(w, "There are d pods in the cluster\n", len(pods.Items))我创建了服务帐户令牌以分配给运行此代码的 Pod。但是当代码被执行时,Pod。项目没有 Pod。我在minikube中部署了这个pod。当我启动一些用于列出 pod 的 kubectl 命令时,通过这种方式,我可以获得资源,因此没有 t 权限问题。我想知道发生了什么,我该如何解决它。存储库 https://github.com/srpepperoni/inframanager.git图像被推入:https://hub.docker.com/r/jaimeyh/inframanager我有问题的端点是这个:mux.HandleFunc("/getPods", GetPodsFromNamespace)
查看完整描述

1 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

您需要检查最后一行是否为非 nil。err

pods, err := clientset.CoreV1().Pods("").List(context.TODO(), metav1.ListOptions{})

好的,有问题了。pods 被禁止:用户 “system:serviceaccount:mis-pruebas:sa-prueba-go” 无法在集群范围内列出 API 组 “” 中的资源“pods”

如错误消息所示,服务帐户无权在群集范围内列出 Pod。您需要创建角色并将其绑定到服务帐户。

使用 RBAC 授权一文甚至提供了有关如何创建此类角色的角色示例


查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号