kubectl 계정 생성 관련
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들은 사용할 수 없게 됩니다.