1 切换到k8s的认证的目录
cd /etc/kubernetes/pki/
2 修改umask值 创建证书
umask 077
openssl genral -out lucky.key 私钥
openssl req -new -key lucky.key -out luck.csr -subj 'CN=shanghai' #证书请求
openssl x509 -req -in lucky.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out lucky.crt
-days 3650 # 证书
3 生成安全上下文
查看当前使用的用户 在/$USER/.kube/config 也能看
![](https://img-blog.csdnimg.cn/img_convert/929791e17525b3255582119412fe99fc.png)
kubectl config set-credentials NAME [--client-certificate=path/to/certfile] [--client-key=path/to/keyfile]
[--token=bearer_token] [--username=basic_user] [--password=basic_password] [--auth-provider=provider_name]
[--auth-provider-arg=key=value] [--exec-command=exec_command] [--exec-api-version=exec_api_version] [--exec-arg=arg]
[--exec-env=key=value] [options] 帮助信息
kubectl config set-credentials lucky --client-certficate=./lucky.cert --clietn-key=./lucky.key
kubectl config set-context lucky@kubernetes --cluster=kubernetes --user=lucky
![](https://img-blog.csdnimg.cn/img_convert/b7585f3e538e1d2e48f8b10ddb05d245.png)
kubectl config use-context lucky@kubernetes 切换用户,运行命令后发现没有权限需要RBAC授权
![](https://img-blog.csdnimg.cn/img_convert/f42c003fc486cf3b8f16bb54b96556b7.png)
4 进行rbac授权
授权命令很简单,难的是如何精准的管控权限,根据自己的业务需求进行授权
kubectl create clusterrolebinding --help 可以查看帮助命令
![](https://img-blog.csdnimg.cn/img_convert/4cb8ce47d09e292a7b13e4c7493d7125.png)
kubectl create clusterrolebind lucky-clusterrolebinding --clusterrole=cluster-admin --user=lucky 为了省事直接使用的集群管理员 如果是生产一定要严格控制权限
![](https://img-blog.csdnimg.cn/img_convert/35096bf51f491904953297fcdf389e03.png)
可以看到这里执行正常了
在1处可以看到集群的相关信息 在2处可以看到上下文的信息 俩个用户 kubernetes-admin 还有后来创建的用户admin
![](https://img-blog.csdnimg.cn/img_convert/74270fe9c89b5fe3acb4443119c0ab5b.png)