文档首页/ 云容器引擎 CCE/ 常见问题/ API&kubectl/ kubectl使用报错:Error from server (Forbidden)
更新时间:2024-09-04 GMT+08:00

kubectl使用报错:Error from server (Forbidden)

故障现象

使用kubectl在创建或查询Kubernetes资源时,显示如下内容。

# kubectl get deploy Error from server (Forbidden): deployments.apps is forbidden: User "0c97ac3cb280f4d91fa7c0096739e1f8" cannot list resource "deployments" in API group "apps" in the namespace "default"

问题根因

用户没有操作该Kubernetes资源的权限。

解决方法

给该用户授权Kubernetes权限,具体方法如下。

  1. 登录CCE控制台,在左侧导航栏中选择“权限管理”
  2. 在右边下拉列表中选择要添加权限的集群。
  3. 在右上角单击“添加权限”,进入添加权限页面。
  4. 在添加权限页面,确认集群名称,选择该集群下要授权使用的命名空间,例如选择“全部命名空间”,选择要授权的用户或用户组,再选择具体权限。

    对于没有IAM权限的用户,给其他用户和用户组配置权限时,无法选择用户和用户组,此时支持填写用户ID或用户组ID进行配置。

    图1 配置命名空间权限

    其中自定义权限可以根据需要自定义,选择自定义权限后,在自定义权限一行右侧单击新建自定义权限,在弹出的窗口中填写名称并选择规则。创建完成后,在添加权限的自定义权限下拉框中可以选择。

    自定义权限分为ClusterRole或Role两类,ClusterRole或Role均包含一组代表相关权限的规则,详情请参见使用RBAC鉴权

    • ClusterRole:ClusterRole是一个集群级别的资源,可设置集群的访问权限。
    • Role:Role用于在某个命名空间内设置访问权限。当创建Role时,必须指定该Role所属的命名空间。
    图2 自定义权限

  5. 单击“确定”