Kubernetes
클러스터의 RBAC(Role-Based Access Control)
설정에 대한 작업을 수행하기 위해 아래와 같은 명령어를 실행하였습니다.( RBAC
는 사용자와 서비스 계정에 대한 특정 권한을 부여하거나 거부하는 메커니즘입니다 )
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
위 명령어를 실행하면 아래와 같은 에러 문구가 나오면서 실패하게 되었습니다.
error: failed to create clusterrolebinding:
clusterrolebindings.rbac.authorization.k8s.io is forbidden: User
"1231231243241234132" cannot create resource "clusterrolebindings" in API
group "rbac.authorization.k8s.io" at the cluster scope: requires one of
["container.clusterRoleBindings.create"] permission(s).
해당 오류는 권한 문제로 먼저 gcloud auth list
를 통해 현재 어느 사용자가 사용중인지 확인 해줍니다.
저의 경우 기본 쿠버네티스 api 사용자로 로그인 되어 있었는데 해당 아이디는 쿠버네티스에 대한 권한이 부족하기에 위와 같은 에러가 나오게 된 것이였습니다.
이를 해결 하기 위해 iam에서 kubernetes admin 권한을 주었습니다.
이후 다시 명령어를 실행하고 나서 아래와 같은 문구가 나오면 성공입니다.
clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-binding created
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
위 명령어는 아래와 같은 내용을 가지고 있습니다.
kubectl create
clusterrolebinding
cluster-admin-binding
--clusterrole cluster-admin
--user $(gcloud config get-value account)