k8s

CKA 준비 (27) ServiceAccount Role binding

Joon0464 2022. 8. 17. 11:01

이 게시물은 아래 강의를 참고 하였습니다.
참고 강의 https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=1 

 

 

 

 

이론)

- 모든 동작중인 컨테이너에는 ServiceAccount가 부여되어있다.

- 기본적으로는 default 계정을 사용한다.

- 주로 모니터링 컨테이너 또는 관리 컨테이너에 제한된 권한을 부여할 때 사용한다.

 

1) ServiceAccount 를 생성한다.

2) pod를 생성할 때 생성한 ServiceAccount 를 부여한다.

3) Role을 생성한다.(권한 설정)

4) Rolebinding을 한다.

 

문제)

Cluster: kubectl config use-context k8s

Create the ServiceAccount named pod-access in a new namespace called apps.

Create a Role with the name pod-role, and the RoleBinding named pod-rolebinding.

Map the Service Account from the previous step to the API resources Pods with the operations watch, list, get.

 

풀이)

검색 키워드 : Role, Service Accounts

https://kubernetes.io/docs/reference/access-authn-authz/rbac/

https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#set

Reference 에서 Service Accounts 생성 명령어를 찾을 수 있다.

1. Service Accounts 생성

$ kubectl create namespace apps
$ kubectl create serviceaccount pod-access

pod-access 서비스 어카운트 생성 확인

2. Pod Role 생성

$ kubectl create role pod-role --verb=get,list,watch --resource=pods -n apps

role 이 생성되었다.

3) Rolebinding

$ kubectl create rolebinding pod-rolebinding --serviceaccount=apps:pod-access --role=pod-role -n apps

Rolebinding이 제대로 되었는지 확인한다.