• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

cluster role관련질문입니다.

20.07.24 14:17 작성 조회수 236

1

cluster role은 role과 달리 cluster단위의 오브젝트들을 지정할수 있다는게 role과 차이점이라고 하셨는데...cluster 오브젝트들 도~ 지정할수있다는 의미지요? cluster 내 자원뿐아니라 namespace 내 오브젝트들도 지정할수있는것인거죠?

그렇다면 굳이 roleBinding 쓸필요없이 clusterRoleBinding으로 cluster object들도 관리하고 namespace내 오브젝트들도 둘다 관리하니....rolebinding이 필요없는거 아닌가요?

그리고 roleBinding이 직접 clusterRole을 지정하면 

[ClusterRole하나만 만들어놓고 모든 Namespace에 있는 RoleBinding이 이 clusterRole을

 지정하게된다면 권한에 대해 변경이 있을때 cluseterRole 하나만 변경하면된다.]

이런방식은 모든 namespce같은 권한을 만들어서 관리할때 유용하다고 하셨는데 rolebinding에서 아닌 그냥 cluster Role binding과 cluster role을 통해서도 동일한 효과를 볼수있는거 아닌가요? 왜 굳이 rolebinding을 통해서 clusterRole을 선택하고 저런 관리의도를 택하는지 이해가 안갑니다.

답변 2

·

답변을 작성해보세요.

1

minki lee님의 프로필

minki lee

2021.04.02

안녕하세요 태민님, 위의 답변에 궁금증이 생겨서 질문드립니다.

관리자일 경우에는 괜찮지만, 특정 Namespace만을 관리하는 담당자일 경우에는 cluster에 대한 권한을 주지 않기 위해 rolebinding이 쓰입니다.

라고 하신 부분에서 사용자를 관리자와 담당자로 나누는 방법엔 어떤게 있나요? 쿠버네티스 관련 서적을 읽어보니

"사용자는 SSO와 같은 외부 시스템에 의해 관리돼야 하지만 파드는 SA라는 메커니즘을 사용하며 클러스터에 SA리소스로 생성되고 저장된다. 이와는 대조적으로 사용자 계정을 나타내는 자원은 없으며 이는 API 서버를 통해 사용자를 생성, 업데이트 또는 삭제할 수 없다는 뜻이다." 

이렇게 나와있어서요. 

하나의 클러스터에 2명 이상의 개발자가 각자의 네임스페이스에만 접근 할 수 있도록 하려면 어떤 방법을 사용해야 하나요? 

안녕하세요. 

Namespace의 권한까지만 있는 SA의 권한을 부여해서 개발자에게 주면되는데요

강의의 권한쪽 내용을 보셨을꺼 같은데, 이해안되는 부분이 있는건지요?

그리고 이전에 누군가 질문했던 내용중에 제가 답변드린 내용이 있는데,

아래 링크를 추천드렸습니다.

https://kubetm.github.io/info/youtube-kubernetes_cncf_webinar/

0

열심히 공부하시네요. 이번에도 좋은질문 감사합니다.

그렇다면 굳이 roleBinding 쓸필요없이 clusterRoleBinding으로 cluster object들도 관리하고 namespace내 오브젝트들도 둘다 관리하니....rolebinding이 필요없는거 아닌가요?

-> 관리자일 경우에는 괜찮지만, 특정 Namespace만을 관리하는 담당자일 경우에는 cluster에 대한 권한을 주지 않기 위해 rolebinding이 쓰입니다.

이런방식은 모든 namespce같은 권한을 만들어서 관리할때 유용하다고 하셨는데 rolebinding에서 아닌 그냥 cluster Role binding과 cluster role을 통해서도 동일한 효과를 볼수있는거 아닌가요? 왜 굳이 rolebinding을 통해서 clusterRole을 선택하고 저런 관리의도를 택하는지 이해가 안갑니다.

-> 이것도 위에 답변과 같은 맥락입니다. 관리자 입장에서는 Namespace별 담당자에 대한 권한 관리를 편하게 하기위해서 CluterRule 수정해서 관리하기가 편하거든요. 그리고 효과는 동일하지 않습니다. ClusterRole을 만들고 Namespace A 용 RoleBinding과 연결했을때 Namespace A 담당자의 권한은 자신의 Namespace내 자원입니다.