k8s 使用新增user配置kubectl在各個節點都可運行


k8s增加普通用戶User

普通用戶並不是通過k8s來創建和維護,是通過創建證書和切換上下文環境的方式來創建和切換用戶。
其實創建用戶的步驟,就是手動部署k8s集群里的一個步驟。
創建過程見下:

1、創建用戶證書

[root@k8s-master1]# cat userkubectl-csr.json {   "CN": "userkubectl", #####userkubectl用戶名字,可自行定義,與后面的名字要保持一致   "key": {     "algo": "rsa",     "size": 2048   },   "names": [     {       "C": "CN",       "ST": "SZ",       "L": "SZ",       "O": "k8s",       "OU": "4Paradigm"     }   ] }
2、在master節點上執行 生成user證書
[root@k8s-master1]#  cfssl gencert -ca=/etc/kubernetes/cert/ca.pem -ca-key=/etc/kubernetes/cert/ca-key.pem -config=/etc/kubernetes/cert/ca-config.json -profile=kubernetes userkubectl-csr.json | cfssljson -bare userkubectl
 -ca=/etc/kubernetes/cert/ca.pem 為k8s apiserver證書
 -ca-key=/etc/kubernetes/cert/ca-key.pem 為k8s apiserver證書
 -config=/etc/kubernetes/cert/ca-config.json 為k8s apiserver證書

3、生成證書證書如下
[root@k8s-master1]# ls
userkubectl.csr 
userkubectl-csr.json userkubectl-key.pem userkubectl.pem
3、在master節點上執行設置集群參數
kubectl config set-cluster kubernetes --certificate-authority=/etc/kubernetes/cert/ca.pem --embed-certs=true --server=https://xxx.xxx.xxx.xxx:4443 --kubeconfig=kubectl.kubeconfig
 注釋: --server=https://xxx.xxx.xxx.xxx:4443 根據自己master節點進行設置
4、在master節點上執行設置客戶端認證參數
[root@k8s-master1]# kubectl config set-credentials userkubectl --client-certificate=userkubectl.pem --client-key=userkubectl-key.pem --embed-certs=true --kubeconfig=kubectl.kubeconfig User "userkubectl" set.
5、在master節點
設置上下文參數

[root@k8s-master1]# kubectl config set-context kubernetes --cluster=kubernetes --user=userkubectl --kubeconfig=kubectl.kubeconfig
Context "kubernetes" created.
6、授予userkubectl cluster-admin權限  可根據不同授權給予創建role 或者cluserrole權限給用戶
[root@k8s-master1]# kubectl create clusterrolebinding kubectl-bootstrap --clusterrole=cluster-admin --user=userkubectl
7、將生成的kubectl.kubeconfig文件復制至各節點的/root/.kube/下,並修改名字為config

注釋:需要在各node節點上面查看是否設置了 $KUBECONFIG環境變量,如果設置了需要把kubectl.kubeconfig設置成環境變量下的文件
 


 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM