Certified Kubernetes Administration - 53
2024-06-22
- Kubernetes
- Cloud
Kubernetes Cluster Roles 및 Cluster Role Bindings 정리
-
클러스터 역할(Cluster Roles) 및 클러스터 역할 바인딩(Cluster Role Bindings) 소개:
-
클러스터 역할 및 바인딩은 네임스페이스 범위가 아닌 클러스터 전체에 걸친 자원에 대한 접근 권한을 관리합니다.
-
클러스터 범위의 자원에는 노드, 지속적 볼륨 등이 포함됩니다.
-
네임스페이스가 지정되지 않은 경우, 기본 네임스페이스에 생성되며, 클러스터 범위의 자원은 네임스페이스와 관련이 없습니다.
-
-
클러스터 역할(Cluster Roles) 생성:
- 클러스터 관리자 역할 예시:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: cluster-admin rules: - apiGroups: [""] resources: ["nodes"] verbs: ["list", "get", "create", "delete"]
- 클러스터 역할 생성 명령어:
kubectl create clusterrole -f <cluster-role-definition-file>
-
클러스터 역할 바인딩(Cluster Role Bindings) 생성:
- 클러스터 역할 바인딩 예시:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cluster-admin-binding subjects: - kind: User name: cluster-admin apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
- 클러스터 역할 바인딩 생성 명령어:
kubectl create clusterrolebinding -f <cluster-role-binding-definition-file>
-
클러스터 역할 및 바인딩 조회:
-
클러스터 역할 조회:
kubectl get clusterroles
-
클러스터 역할 바인딩 조회:
kubectl get clusterrolebindings
-
클러스터 역할 세부 정보 조회:
kubectl describe clusterrole cluster-admin
-
클러스터 역할 바인딩 세부 정보 조회:
kubectl describe clusterrolebinding cluster-admin-binding
-
-
실습 예제:
-
Michelle 사용자를 위한 노드 접근 권한 설정:
-
클러스터 역할 생성:
kubectl create clusterrole michelle-role --verb=get,list,watch --resource=nodes
-
클러스터 역할 바인딩 생성:
kubectl create clusterrolebinding michelle-role-binding --clusterrole=michelle-role --user=michelle
-
권한 테스트:
kubectl get nodes --as=michelle
-
-
Michelle 사용자의 스토리지 관리 역할 설정:
-
클러스터 역할 생성:
kubectl create clusterrole storage-admin --verb=get,list,create,watch --resource=persistentvolumes,storageclasses
-
클러스터 역할 바인딩 생성:
kubectl create clusterrolebinding michelle-storage-admin --clusterrole=storage-admin --user=michelle
-
권한 테스트:
kubectl get storageclasses --as=michelle
-
-
Certified ...
Certified ...