东北街溜子--k8s集群实现用户权限隔离

【系统环境】

k8s-1.30集群(1个控制节点2个工作节点)

【系统需求】

单位来了一个新同事张宝,允许他操作k8s集群,但只能在自己的命名空间下操作,防范误操作带来的危险

【操作步骤】

1、创建用户及主目录 :

# 创建新的用户 zhangb 并设置主目录(详见图1)

useradd zhangb

mkdir -p /home/zhangb/.kube

chown -R zhangb:zhangb /home/zhangb

图1

2、生成证书文件:

# 进入 Kubernetes 证书存储路径(详见图2)

cd /etc/kubernetes/pki/

图2

# 生成 RSA 私钥并创建 CSR(详见图3)

(umask 077; openssl genrsa -out zhangb.key 2048)

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

图3

# 使用 CA 签发用户证书(详见图4)

openssl x509 -req -in zhangb.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out zhangb.crt -days 36500

图4

3、创建命名空间与配置信息:

# 创建命名空间(详见图5)

kubectl create ns zhangb

图5

# 设置集群配置信息(详见图6)

kubectl config set-cluster kubernetes --certificate-authority=/etc/kubernetes/pki/ca.crt --embed-certs=true --server=https://192.168.40.186:6443 --kubeconfig=/root/zhangb.config

图6

# 设置用户凭证(详见图7)

kubectl config set-credentials zhangb --client-certificate=/etc/kubernetes/pki/zhangb.crt --client-key=/etc/kubernetes/pki/zhangb.key --embed-certs=true --kubeconfig=/root/zhangb.config

图7

# 设置默认上下文和使用配置文件(详见图8)

kubectl config set-context default --cluster=kubernetes --user=zhangb --namespace=zhangb --kubeconfig=/root/zhangb.config

kubectl config use-context default --kubeconfig=/root/zhangb.config

图8

4、角色绑定设置 :

# 创建角色绑定,允许用户访问指定命名空间的资源(详见图9)

kubectl create clusterrolebinding zhangb-binding --clusterrole=edit --user=zhangb

图9

5、复制并更新环境变量

# 复制配置文件到用户的 .kube 目录并更新环境变量(详见图10)

cp /root/zhangb.config /home/zhangb/.kube/config

echo 'export KUBECONFIG=/home/zhangb/.kube/config' >> /home/zhangb/.bashrc

chown -R zhangb:zhangb /home/zhangb/.kube

图10

6、通过ctr导入镜像

# 通过ctr导入镜像(详见图11)

上传nginx.tar.gz至服务器

ctr --n=k8s.io images import nginx.tar.gz

图11

7、验证和测试 :

# 验证配置文件的完整性(详见图12)

kubectl config view --minify --output=json | jq .

图12

# 登录并验证权限(详见图13)

su - zhangb

kubectl run test-pod --image=nginx:latest 

kubectl get pods 

( 图13 )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容