1. 程式人生 > 實用技巧 >限制不同使用者訪問K8S叢集

限制不同使用者訪問K8S叢集

一、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