如何解决如何获取运行进程的 kubernetes 角色或服务帐户
我正在使用 k8s go-client 做很多事情,但是应用程序的用户看到的错误似乎是由他们的实例运行时使用的服务帐户的错误配置引起的,例如尝试访问资源他们不允许,我想在启动应用程序时显示警告,或者至少能够访问绑定到代码运行的 pod 的服务帐户的角色的允许资源/组。有没有办法做到这一点?
解决方法
您可以使用 InClusterConfig 通过其服务帐户访问 Pod 可用的资源。请查看以下链接以了解如何使用它。
How to use inclusterconfig of kubernetes in go
,应用程序的用户看到的错误似乎是由服务帐户的错误配置引起的
听起来该服务的安装没有附带适当的 RBAC 清单。
我想在启动应用程序时显示警告,或者至少能够访问绑定到 pod 服务帐户的角色的允许资源/组
解决这个问题的方法通常是仔细处理访问Kubernetes API Service时返回的错误,如果出现错误,也打印错误。这些错误消息通常包含有关使用了哪些 ServiceAccount 和缺少哪些权限的信息。有了这些信息,创建适当的 RBAC 清单应该不会太难。
SelfSubjectAccessReview
您还可以使用 API 端点 /apis/authorization.k8s.io/v1/selfsubjectaccessreviews
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。