k8s集群限制不同用户操作

目录

一、部署

1、在/etc/kubernetes/pki下生成cr证书

2、在kubeconfig集群中新创建一个lucky这个用户

3、在kubeconfig集群下创建加一个lucky这个账号

4、创建lucky用户管理的命名空间

5、把lucky这个用户通过rolebinding绑定到clusterrole上,授予权限,权限只是在lucky这个名称空间有效

二、验证lucky用户权限

1、切换到lucky用户

2、查看default命名空间;无权限

3、查看lucky命名空间

三、创建系统用户lucky

创建一个系统用户lucky,这样在调用lucky用户时,系统用户也映射为lucky用户,而不是root用户。

1、创建系统用户lucky

[2、将root/.kube/文件拷贝一份到 /home/lucky/](#2、将root/.kube/文件拷贝一份到 /home/lucky/)

[3、赋予.kube 文件用户属主属组为lucky](#3、赋予.kube 文件用户属主属组为lucky)

4、修改.kube下的config配置文件

5、将kubernetes账户条目删除并修改当前上下文

四、验证

1、切换到lucky系统用户

2、查看default命名空间;无权限

3、查看lucky命名空间


一、部署

1、在/etc/kubernetes/pki下生成cr证书

(1)cd /etc/kubernetes/pki

(2)设置umask为077

(3)生成用户lucky的key(lucky.key)用来申请证书

openssl genrsa -out lucky.key 2048

(4)生成lucky用户的证书请求luck.csr

openssl req -new -key lucky.key -out lucky.csr -subj "/CN=lucky"

(5)生成lucky.crt证书

openssl x509 -req -in lucky.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out lucky.crt -days 3650

2、在kubeconfig集群中新创建一个lucky这个用户

kubectl config set-credentials lucky --client-certificate=./lucky.crt --client-key=./lucky.key --embed-certs=true

3、在kubeconfig集群下创建加一个lucky这个账号

kubectl config set-context lucky@kubernetes --cluster=kubernetes --user=lucky

4、创建lucky用户管理的命名空间

kubectl create namespace lucky

5、把lucky这个用户通过rolebinding绑定到clusterrole上,授予权限,权限只是在lucky这个名称空间有效

kubectl create rolebinding lucky -n lucky --clusterrole=cluster-admin --user=lucky

二、验证lucky用户权限

1、切换到lucky用户

kubectl config use-context lucky@kubernetes

2、查看default命名空间;无权限

3、查看lucky命名空间

三、创建系统用户lucky

创建一个系统用户lucky,这样在调用lucky用户时,系统用户也映射为lucky用户,而不是root用户。

1、创建系统用户lucky

useradd lucky

2、将root/.kube/文件拷贝一份到 /home/lucky/

cp -ar /root/.kube/ /home/lucky/

3、赋予.kube 文件用户属主属组为lucky

chown -R lucky:lucky /home/lucky/

4、修改.kube下的config配置文件

vim /home/lucky/.kube/config

5、将kubernetes账户条目删除并修改当前上下文

四、验证

1、切换到lucky系统用户

su - lucky

2、查看default命名空间;无权限

3、查看lucky命名空间