限制不同使用者訪問K8S叢集
阿新 • • 發佈:2020-12-20
一、SSL認證
1、生成一個證書
(1)生成一個私鑰 cd /etc/kubernetes/pki/
(umask 077; openssl genrsa -out lucky.key 2048)
(2)生成一個證書請求
openssl req -new -key lucky.key -out lucky.csr -subj "/CN=lucky"
(3)生成一個證書
openssl x509 -req -in lucky.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out lucky.crt -days 3650
2、在kubeconfig下新增加一個lucky這個使用者
(1)把lucky這個使用者新增到kubernetes叢集中,可以用來認證apiserver的連線
kubectl config set-credentials lucky --client-certificate=./lucky.crt --client-key=./lucky.key --embed-certs=true
(2)在kubeconfig下新增加一個lucky這個賬號
kubectl config set-context lucky@kubernetes --cluster=kubernetes --user=lucky
(3)切換賬號到lucky,預設沒有任何許可權
kubectl config use-context lucky@kubernetes
3、把user這個使用者通過rolebinding繫結到clusterrole上,授予許可權,許可權只是在lucky這個名稱空間有效
(1)把lucky這個使用者通過rolebinding繫結到clusterrole上
kubectl create rolebinding lucky -n lucky --clusterrole=cluster-admin --user=lucky
(2)切換到lucky這個使用者
kubectl config use-context lucky@kubernetes
(3)測試是否有許可權
kubectl get pods -n lucky
有許可權操作這個空間
kubectl get pods
新增一個lucky的普通使用者
useradd lucky cp -ar /root/.kube/ /home/lucky/ chown -R lucky.lucky /home/lucky/ su - lucky