K8s rbac namespace权限设置

本文介绍了如何在Kubernetes环境中,通过Role和RoleBinding为特定用户test123设置namespace 'default'中的权限,允许其读取和管理Pods及Deployments。详细步骤包括创建Role和RoleBinding的yaml文件,生成并签署用户证书,以及配置kubeconfig文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在K8S master节点上创建Role和RoleBinding的yaml文件

#vi role-username.yaml

kind: Role

apiVersion: rbac.authorization.k8s.io/v1

metadata:

  namespace: default

  name: pod-reader

rules:

- apiGroups: [""]

  resources: ["pods"]

  verbs: ["get", "watch", "list","delete"]

- apiGroups: ["extensions"]

  resources: ["deployments"]

  verbs: ["get", "watch", "list","patch"]

---

kind: RoleBinding

### 配置和管理 Kubernetes (k8s) 中的 RBAC 权限 #### 创建角色(Role) 为了定义特定命名空间内的权限,可以创建 `Role` 对象。下面是一个简单的例子,用于授予读取 Pod 的权限: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: example-namespace name: pod-reader rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list"] ``` 此 YAML 文件描述了一个名为 `pod-reader` 的角色,它允许执行获取、监视以及列出操作于 Pods 上[^2]。 #### 将角色绑定到用户或服务账户(Role Binding) 一旦定义好角色之后,则需通过 `RoleBinding` 或者 `ClusterRoleBinding` 把这些权限分配给具体的用户或者 Service Account。这里展示如何把前面提到的角色赋予某个用户 zhaoz,在北京这个命名空间下: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: read-pods namespace: beijing subjects: - kind: User name: zhaoz apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: pod-reader apiGroup: rbac.authorization.k8s.io ``` 这段配置会将 `pod-reader` 这个角色与用户 zhaoz 关联起来,并限定在北京这一命名空间内生效[^3]。 #### 查看现有的 RBAC 资源 要检查当前环境中已有的 Roles 和 Bindings 可以运行如下命令来获取列表信息: ```bash kubectl get roles,rolebindings,clusterroles,clusterrolebindings ``` 这有助于理解现有设置并确保新添加的规则按预期工作。 #### 切换上下文至管理员身份 当需要进行更广泛的更改时,可能希望切换到具有更高权限的身份来进行操作。可以通过以下指令实现这一点: ```bash kubectl config use-context kubernetes-admin@kubernetes ``` 这样就可以获得集群级别的完全控制权以便完成必要的调整[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王Sir_yt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值