본문 바로가기
카테고리 없음

kubectl 계정 생성 관련

by eden.do 2023. 2. 14.

service account는 kubernetes cluster API 접근에 사용됩니다. 

서비스 어카운트 계정을 만들고 cluster admin role에 연결을 시켜서 admin 권한을 사용할 수 있습니다. 

kubectl create serviceaccount -n kube-system eden
kubectl create clusterrolebinding kep-admin-rolebinding-eden --clusterrole=cluster-admin --serviceaccount=kube-system:eden

 

kubectl config 를 이용해서 token 설정, cluster 설정, context 설정, context 사용이 가능합니다. 

클러스터 접근을 위한 token을 eden이라는 이름으로 credential 생성을 하고 cluster에 대한 설정을 해줍니다. 

그 다음, eden이라는 user가 사용하는 context를 생성해주고, 이 context에 token이 등록되어 있어 use-context로 설정한 클러스터의 context로 변경을 해주면 등록된 토큰과 권한으로 접근이 가능합니다. 

토큰이 만료되거나 serviceaccount가 삭제되면 접근이 불가능합니다. 

kubectl config set-credentials eden --token=$token
kubectl config set-cluster eden-k8s-cluster --insecure-skip-tls-verify=true --server https://10.182.xxx.xxx6443 
kubectl config set-context eden-k8s-context --cluster=eden-k8s-cluster --user=eden
kubectl config use-context eden-k8s-context 

 

계정 권한을 삭제할 때에는 serviceaccount와 연결된 rolebinding을 삭제해주면 자연스레 설정한 config들은 사용할 수 없게 됩니다.