티스토리 뷰
반응형
# role/role binding 설정 방법은 2개
- user, serviceAcccount
문제 2 애플리케이션 운영중 특정 namespace의 pod들을 모니터할 수 있는 서비스가 요청됨,
api-access 네임스페이스의 모든 pod를 view할 수 있도록 다음 작업을 진행함
- api-access라는 새로운 namespace에 pod-veiwer라는 이름의 service account 를 만듬
- podreader-role이라는 이름의 role과 podreader-rolebinding이라는 이름의 rolebinding을 만듬
- 앞서 생성한 serviceAccount를 api resource에 대해 watch, list, get을 허용하도록 매핑
문제 풀이
1. namespace 생성
# 생성 전 api-access가 있는지 확인
kubectl get namespace api-access
# 생성
kubectl create namespace api-access
# service accout 생성
kubectl create serviceaccount pod-viewer --namespace api-access
# 확인
kubectl get serviceaccounts --namespace=api-access
# 결과
NAME SECRETS AGE
default 1 51s
pod-viewer 1 20s
2. role 생성
https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole
2-1. yaml 을 이용해서 만드는 방법
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
# role 생성
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: api-access
name: podreader-role
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "list"]
2-2 커멘드를 이용해서 만든방법 -- 이게 더 쉬움
# kubectl create role pod-reader --verb=get --verb=list --verb=watch --resource=pods
kubectl create role podreader-api --verb=get --verb=list --verb=watch --resource=pods --namespace api-access
# 결과 확인
kubectl get role --namespace=api-access
# 자세히 확인
kubectl describe role --namespace=api-access podreader-role
3. rolebinding 생성
# kubectl create rolebinding myapp-view-binding --clusterrole=view --serviceaccount=acme:myapp --namespace=acme
kubectl create rolebinding podreader-rolebinding --role=podreader-role --serviceaccount=api-access:pod-viewer --namespace=api-access
# 학인
kubectl get rolebindings --namespace=api-access
# 자세히 확인
kubectl descibe rolebinding podreader-rolebinding --namespace=api-access
반응형
'cka' 카테고리의 다른 글
kubernetes [CKA] - CSR (0) | 2023.06.10 |
---|---|
kubernetes [CKA] - clusterRole 생성 (0) | 2023.06.09 |
kubernetes [CKA] - rbac 인증 (0) | 2023.06.07 |
kubernetes [CKA] - kubernetes update (0) | 2023.06.06 |
kubernetes [CKA] - ETCD Backup & Restore (0) | 2023.06.05 |