当前位置: 首页 > 知识库问答 >
问题:

kubectl get all使用rancher权限返回大量禁止错误

上官英哲
2023-03-14

我使用rancher来管理k8s集群,只允许访问一些特定的项目/命名空间,它工作得很好,除了它有烦人的错误消息

$ kubectl get all
NAME                                 READY   STATUS    RESTARTS   AGE
pod/nginx-64cf74bdcb-vmssn           1/1     Running   0          14m

NAME                    TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/nginx           NodePort   10.100.132.26           80:32318/TCP   14m

NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx           1/1     1            1           14m

NAME                                       DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-contiki-64cf74bdcb   1         1         1       14m
Error from server (Forbidden): users.jenkins.io is forbidden: User "u-4foykbynfi" cannot list resource "users" in API group "jenkins.io" in the namespace "sandbox"
Error from server (Forbidden): facts.jenkins.io is forbidden: User "u-4foykbynfi" cannot list resource "facts" in API group "jenkins.io" in the namespace "sandbox"
...

这个用户只想检查它自己命名空间中的所有资源,尽管它没有其他API组的权限,但是我们可以跳过这个检查吗?

环境

  • K8S服务器-v1.14.1
  • Kubectl客户端-v1.13.2
  • 牧场主-v2.2.4

共有1个答案

方和豫
2023-03-14

实际上,当您调用Kubectl get all命令时,k8s会查看绑定到all类别的资源目录。您可以为每个自定义对象CRD添加此类别,提供特定的CustomResourceDefinition资源定义,如下所述。

但是,不能更改Kubectl get命令方法,只能应用某些筛选器或自定义打印输出。

如果您的目标只是获取Kubectl get Allstdout的输出以避免错误记录,那么您可能可以将stderr重定向到/dev/null:

$ kubectl get all 2>/dev/null

还可以将--as标志添加到Kubectl get命令中,以便模拟资源所有者:

$ kubectl get all --as=<username>
 类似资料:
  • 问题内容: 我正在遵循此页面上的教程,但是在运行应用程序并尝试进行搜索时,我一直收到403 Forbidden错误。 我在https://console.developers.google.com/页面上启用了Youtube Data API v3,并创建了一个Android API密钥。 有什么建议?谢谢。 问题答案: 我已经通过创建浏览器密钥而不是android密钥解决了该问题。浏览器密钥不需

  • 对localhost的Ajax请求返回403错误。然而,当我更改controller requestMethod以获取并在浏览器上打开请求“url”时,它会显示从服务器返回的json数据。我希望使用这些数据填充一个下拉列表。请帮帮我。我正在使用spring security 4.0和spring MVC框架。CSRF未禁用。此外,该url在Spring得到保护。 我在这里查看了相关问题,但没有找到

  • 问题内容: 我正在尝试制作Sitecraper。我是在本地计算机上制作的,在那儿工作得很好。当我在服务器上执行相同操作时,它显示403禁止错误。我正在使用PHP简单HTML DOM解析器 。我在服务器上收到的错误是这样的: 警告:file_get_contents(http://example.com/viewProperty.html?id=7715888)[function.file- get

  • 我已经创建了一个用于YouTube Content ID API的服务帐户,我将按照以下步骤在上设置您的服务帐户: https://developers.google.com/youtube/partner/guides/oauth2_for_service_accounts 这些步骤似乎有点过时,我无法在开发者控制台中找到YouTube内容ID API。 我可以在频道上上传视频。嗯,当我使用这个

  • 我已经阅读了大部分的开发人员控制台参考资料。 我在YouTube站点的“YouTube Manager Google Account”下的Google Developers控制台中创建了一个已安装的项目。 我已启用YouTube Data API v3和YouTube Analytics V1。 我已为已安装的项目创建了凭据。 代码通过身份验证没有任何问题: 出现错误:Google.apis.re

  • 我使用http://localhost:8080/auth/realms/{realm_name}/protocol/openid-connect/token endpoint创建令牌。 grant_type=client_credentials 客户端-id:------------- 客户端-secret:78296D38-CC82-4010-A817-65C283484E51 现在我想获得r