문제4. CSR(Certificate Signing Request)를 통해 app-manager 인증서를 발급받은 user app-manager 에게 cluster 내 모든 namespace의 deployment, pod, service 리소스를 create, list, get, update, delete 할 수 있는 권한을 할당하시오. - user name : app-manager - certificate name : app-manager - clusterRole name : app-access - clusterRoleBinding name : app-access-binding 문제 풀이 1. user 개인 키 생성 -subj "/CN=app-manager" openssl genrsa -out myus..
문제3. context에서 애플리케이션 배포를 위해 새로운 clusterRole을 생성하고 특정 namespace의 serviceAccount를 바인드 하시오. - 다음의 resourse type에서만 create가 허용된 clusterRole deployment-clusterrole을 생성함 Resouse type : Deployment StatefulSet DeamonSet - 미리 생성된 namespace api-access 에 cicd-token 이라는 새로운 serviceAccount를 만듬 - clusterRole deployment-cluserrole을 namespace api-access 로 제한된 새 serviceAccount cicd-token 에 바인딩함 문제 풀이 1. cluster..
# 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 생성 # 생성..
authentication: 사용자가 맞는가? authorization: 이 작업을 수행할 권한이 있나? admission control: 이 요청이 적절한가? 1. kubectl 유저 정보 확인 # 서버 접속 ssh k8s-master # 유저, 인증서 정보 확인 cat .kube/config 2. pod는 service Account로 권한 인증 deploy, service, pod 를 get과 같은 권한을 실행해줄 수 있도록 해줌 -- kubernetes api 인증 # pod 생성 kubectl run testpod --image=nginx # pod 확인 -o는 자세히 보기 kubectl get pod testpod -o yaml # serviceAccount: default확인 # defaul..