k8s权限/证书:工作节点权限收缩

文章描述了一种方法,通过在master节点上生成配置文件,为工作节点的kubectl赋予特定权限。这一过程包括生成证书、创建config文件、设置用户和上下文、绑定角色以及拷贝文件到工作节点。目标是确保工作节点只有开发人员权限,而master节点保持管理员权限。
摘要由CSDN通过智能技术生成

背景:

kubectl使用congig文件来访问集群。

目前,工作节点直接拷贝kubeadm在master生成的admin,conf文件。该文件使工作节点的kubectl具有最高权限。

目的:

单独为工作节点的kubectl设置权限适当的config文件。

方案概述:

目前,平台预设了以下四种权限。我们为工作节点的kubectl绑定“开发人员权限”。master节点的kubectl保持“管理员权限”。

 

目前,手动操作的流程如下:

第一部分:为工作节点的kubectl,生成config文件

操作地点:master节点(需要使用的CA证书,只存在于master节点)

1.使用集群CA,为节点签证书

工作目录:/etc/kubernetes

// 生成服务器的私钥(长度为2048)

openssl genrsa -out worker.key 2048

// 使用私钥,生成证书请求文件

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

// 生成证书

openssl x509 -req -in worker.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -days 36500 -out worker.crt

2.生成config文件

1)在/etc/kubernetes创建config-worker文件

内容如下:

apiVersion: v1

kind: Config

preferences: {}

2)设置集群地址和CA证书

kubectl config --kubeconfig=config-worker set-cluster cls-54g954mb --server=https://kube-chongqing.cls-54g954mb.io:6443 --certificate-authority=/etc/kubernetes/pki/ca.crt --embed-certs
3)设置worker用户

kubectl config --kubeconfig=config-worker set-credentials worker --client-key=/etc/kubernetes/worker.key --client-certificate=/etc/kubernetes/worker.crt --embed-certs
4)设置上下文

kubectl config --kubeconfig=config-worker set-context worker@cls-54g954mb --cluster cls-54g954mb --user worker

5)设置当前上下文

kubectl config --kubeconfig=config-worker use-context worker@cls-54g954mb

3.检查clusterRole[dev]

检查是否存在dev

kubectl get clusterrole dev -o yaml

4.绑定角色[dev]

 

5.检查config文件

检查是否符合预期。

命令

预期结果

kubectl get pod -A --kubeconfig='config-worker'Y
kubectl get node --kubeconfig='config-worker'Y
kubectl delete pod <pod名字> --kubeconfig='config-worker'Y
kubectl get csidrivers --kubeconfig='config-worker'N
kubectl get clusterroles --kubeconfig='config-worker'N
kubectl get clusterrolebindings --kubeconfig='config-worker'N
kubectl delete node 10.0.2.21 --kubeconfig='config-worker'N

第二部分:拷贝config文件至工作节点

地址:~/.kube

修改文件名为config

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值