k8s集群配置普通用户权限

集群管理员 :负责管理 Kubernetes 集群的用户,拥有最高权限,可以对集群中的资源进行任何操作。

开发者 :在 Kubernetes 集群中部署和管理自己的应用,可能有限制的权限,仅能管理特定的命名空间或资源。

第三方服务 :需要与 Kubernetes 集群交互的外部系统或服务,如监控、日志管理等。

日常工作中尽量不适用root权限(权限太大,我们使用普通用户进行操作)

配置普通用户操作:

1、准备证书

普通用户需要通过证书进行验证,然后通过RBAC授权。因此需要先创建证书,创建证书有两种方式,通过k8s csr申请,直接通过命令创建

创建证书请求文件 lyj-csr.json

{

"CN": "lyj",

"hosts": [],

"key": {

"algo": "rsa",

"size": 2048

},

"names": [

{

"C": "CN",

"ST": "BeiJing",

"L": "BeiJing",

"O": "k8s",

"OU": "System"

}

]

}

生成证书

cfssl gencert -ca=/data/tls/k8s/ca.pem -ca-key=/data/tls/k8s/ca-key.pem -config=/data/tls/k8s/ca-config.json -profile=kubernetes lyj-csr.json | cfssljson -bare client

设置名为kubernetes集群

kubectl config set-cluster kubernetes \

--certificate-authority=/data/kubernetes/ssl/ca.pem \

--embed-certs=true \

--server="https://192.168.7.100:6443" \

--kubeconfig=lyj-config

设置用户

kubectl config set-credentials lyj \

--client-certificate=./client.pem \

--client-key=./client-key.pem \

--embed-certs=true \

--kubeconfig=lyj-config

设置上下文信息

kubectl config set-context default \

--cluster=kubernetes \

--user=lyj \

--kubeconfig=lyj-config

切换上下文

kubectl config use-context default --kubeconfig=lyj-config

为用户授权:

mkdir /home/lyj/.kube

cp /root/.kube/config /home/lyj/.kube/

chown -R lyj:lyj lyj/

权即创建角色,并将角色与对象绑定

创建lyj-rbac.yaml 文件并进行应用

Kubectl apply -f lyj-rbac.yaml

--

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRole

metadata:

name: test

rules:

  • apiGroups: ["*"] # "" 表示所有api组

resources: ["pods","pods/log","deployments"] #*表示所有资源

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


apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

name: testclusterrolebinding

subjects:

你可以指定不止一个"subject(主体)"

  • kind: User

name: lyj # "name" 是区分大小写的

apiGroup: rbac.authorization.k8s.io

roleRef:

"roleRef" 指定与某 Role 或 ClusterRole 的绑定关系

kind: ClusterRole # 此字段必须是 Role 或 ClusterRole

name: test # 此字段必须与你要绑定的 Role 或 ClusterRole 的名称匹配

apiGroup: rbac.authorization.k8s.io

再验证下切换用户到普通用户lyj,进行集群命令操作

相关推荐
建群新人小猿19 小时前
陀螺匠企业助手——组织框架图
android·java·大数据·开发语言·容器
SilentCodeY19 小时前
iptables 防 Docker 绕过:DOCKER-USER 链限制 Nacos 8848 仅 localhost 可访问
docker·容器·iptables
小王努力学编程1 天前
LangChain—AI应用开发框架(认识模型)
linux·服务器·人工智能·机器学习·容器·langchain
南宫乘风1 天前
Kubernetes 中 ConfigMap 和 Secret 热更新:Reloader 实战指南
容器·kubernetes·configmap
辰尘_星启1 天前
解决幽灵容器
linux·docker·容器·机器人·嵌入式
培根芝士1 天前
基于Docker部署M3U8流媒体
docker·容器
卜锦元1 天前
Docker Compose 部署 MySQL 8.4 LTS(生产级实践方案)
数据库·mysql·docker·容器
独断万古他化1 天前
Docker 入门前置:容器虚拟化基础之 cgroups 资源控制与 LXC 容器
linux·docker·容器
\xin1 天前
SQL 注入、文件上传绕过、MySQL UDF 提权、SUID 提权、Docker 逃逸,以及 APT 持久化技术渗透测试全流程第二次思路
sql·mysql·docker·容器·渗透测试·json·漏洞
羑悻的小杀马特1 天前
零成本神器组合:用Docker+Uptime Kuma+cpolar打造永不掉线的远程监控系统!
运维·人工智能·docker·容器