ServiceAccount, Role, RoleBinding
◾ 작업 클러스터 : k8s
• 애플리케이션 운영중 특정 namespace의 Pod들을 모니터할수 있는 서비스가 요청되었습니다. api-access
네임스페이스의 모든 pod를 view할 수 있도록 다음의 작업을 진행하시오.
• api-access라는 새로운 namespace에 pod-viewer라는 이름의 Service Account를 만듭니다.
• podreader-role이라는 이름의 Role과 podreader-rolebinding이라는 이름의 RoleBinding을 만듭니다.
• 앞서 생성한 ServiceAccount를 API resource Pod에 대하여 watch, list, get을 허용하도록 매핑하시오.
# 1. namespace 생성 : api-access
kubectl create namespace api-access
# 2. ServiceAccount : pod-viewer --namespace api-access
kubectl create serviceaccount pod-viewer --namespace api-access
# 3. role 생성 : podreader-role : Pod watch, list, get --namespace api-access
kubectl create role podreader-role --verb=get --verb=list --verb=watch --resource=pods --namespace=api-access
# 4. rolebinding 생성 : podreader-rolebinding, role=podreader-role, serviceaccount=pod-viewer
kubectl create rolebinding podreader-rolebinding --role=podreader-role --serviceaccount=api-access:pod-viewer --namespace=api-access
ServiceAccount, ClusterRole,
ClusterRoleBinding
◾ 작업 클러스터 : k8s
• 작업 Context에서 애플리케이션 배포를 위해 새로운 ClusterRole을 생성하고 특정 namespace의
ServiceAccount를 바인드하시오.
• 다음의 resource type에서만 Create가 허용된 ClusterRole deployment-clusterrole을 생성합니다.
Resource Type: Deployment StatefulSet DaemonSet
• 미리 생성된 namespace api-access 에 cicd-token이라는 새로운 ServiceAccount를 만듭니다.
• ClusterRole deployment-clusterrole을 namespace api-access 로 제한된 새 ServiceAccount cicd-token에 바인딩하는
합니다.
namespace api-access
# 1. ServiceAccount 생성 : cicd-token
kubectl create serviceaccount cicd-token --namespace api-access
# 2. ClusterRole 생성 : deployment-clusterrole [Deployment StatefulSet DaemonSet (Create)]
kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployment,statefulset,daemonset
# 3. ClusterRole binding 생성 : deployment-clusterrolebinding [ClusterRole : deployment-clusterrole], [ServiceAccount : cicd-token]
kubectl create clusterrolebinding deployment-clusterrolebinding --clusterrole=deployment-clusterrole --serviceaccount=api-access:cicd-token --namespace=api-access
User, ClusterRole, ClusterRoleBinding
◾ 작업 클러스터 : k8s
CSR(Certificate Signing Request)를 통해 app-manager 인증서를 발급받은 user app-manager 에게
cluster내 모든 namespace의 deployment, pod, service 리소스를 create, list, get, update, delete 할 수
있는 권한을 할당하시오.
• user name : app-manager
• certificate name: app-manager
• clusterRole name : app-access
• clusterRoleBinding name: app-access-binding
# 1. user : app-manager
# 2. clusterrole : app-access
# 3. clusterrolebinding : app-access-binding
| CKA 합격 후기 (0) | 2026.02.22 |
|---|---|
| [CKA] kubeadm upgrade (0) | 2025.10.07 |
| [CKA] etcd-backup (0) | 2025.10.06 |
| CKA 시험 환경 구성 (0) | 2025.03.22 |