案例:为指定用户授权访问不同命名空间权限,例如公司新入职一个小弟,希望让他先熟悉K8s集群,为了 安全性,先不能给他太大权限,因此先给他授权访问default命名空间od,读取权限。 实施大致步骤: 1. 用K8S CA签发客户端证书 2. 生成kubeconfig授权文件 3. 创建RBAC权限策略 4. 指定kubeconfig文件测试权限:kubectl get pods --kubeconfig=.kube/kubeconfig ---------------------------------------------------- 具体实现如下: Master 节点 1. 上传RBAC所需的脚本
链接:https://pan.baidu.com/s/1fYwdSuFxgErMITO5Wmaygg
提取码:j5go
2. 解压,解压后rbac目录中有三个文件
3. cert.sh脚本会用到cfssl工具,需要准备一下
tar -xf cfssl.tar.gz -C /usr/bin/
4. 执行cert.sh脚本生成K8S客户端证书,完成步骤(1)
5. 修改kubeconfig.sh ,只需要修改成自己环境的MasterIP 即可, 执行该脚本
6. kubectl apply -f rbac.yaml
7. 先在master节点测试生成的kubeconfig文件是否可用。能看到指定资源即为正常。
8. 部署一台linux虚拟机,装kubectl ,版本尽量与master保持一致
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
-----------------
[root@localhost ~]# yum install kubectl-1.21.2 -y
[root@localhost ~]# mkdir -p .kube
9. 讲master节点生成的kubeconfig文件拷贝到指定目录,目录和文件名一定要正确!!!
10. 让你的小弟在远程主机测试即可。
完成。
标签:kubectl,kubernetes,访问控制,kubeconfig,RBAC,yum,com From: https://www.cnblogs.com/cloud-yongqing/p/16633205.html