25번과 다른 점

25번 문제인 ROLE은 ckauser 계정 사용자에게 Pod에 대해서 여러 기능(delete, list 등)들을 할당해 주었고 할당된 Role은 특정 namespace에서만 기능을 할 수 있도록 제한된 기능

ex) devops라는 namespace에서 만들었으면 devops있는 pod만 할당된 기능을 사용 가

반면 Cluster Role은 Cluster 단위로 설정 그래서 clusterrole로 pod에게 기능을 할당하면 모든 namespace에서 권한을 갖게 됌

만드는 방법은 비슷함.

Untitled

  1. kubectl config use-context k8s
  2. RBAC(공홈) 검색 시 Using RBAC Authorization → kubectl create clusterrole

⇒ role과 다르게 cluster role은 RBAC에 명령어 존재

kubectl create clusterrole pod-reader --verb=get,list,watch --resource=pods

수정
kubectl create clusterrole app-clusterrole --verb=get,watch,list 
-resourece=deployment,service
  1. RBAC(공홈) 검색 시 Using RBAC Authorization → kubectl create clusterrole → kubectl create clusterrolecinding
kubectl create clusterrolebinding root-cluster-admin-binding
 --clusterrole=cluster-admin --user=root
 
 수정kubectl create clusterrolebinding clusterrolebingding(이름은 지정 x -> 임의로 설)
 --clusterrole=app-clusterrole --user=ckauser
 => 입력
 
  1. kubectl config use-context ckauser ⇒ ckauser로 접속
  2. kubectl get deploy, kubectl get svc ⇒ 권한을 받은 deploy와 service만 조회 가능
  3. kubectl config use-context kuernetes-admin@kubernetes ⇒ 원래 cluster 로 돌아옴