전공영역 공부 기록

쿠버네티스에서 권한이 제한된 개발자 계정 발급 2편

악분 2021. 8. 3. 07:02
반응형

이 챕터는 권한이 제한된 쿠버네티스 계정(serviceaccount)을 생성하는 방법을 다룹니다.

 

이전 챕터

1편: https://malwareanalysis.tistory.com/133

2편: https://malwareanalysis.tistory.com/135

 

영상

https://youtu.be/qt4fMcvG564

 

2편에서 다루는 내용

2편에서는 serviceaccount를 이용한 쿠버네티스 인증과정을 다룹니다. serviceaccont를 생성하고 쿠버네티스 context에 등록하는 방법을 설명합니다.

 

 

serviceaccount 생성

serviceaccount생성 방법은 간단합니다. 계정 이름과 namespace를 지정해주면 됩니다. 아래 예제는 default namespace에 developer라는 serviceaccount을 생성합니다.

kubectl create serviceaccount developer --namespace default

그림1 serviceaccount 생성

 

 

serviceaccount가 생성되었는지 확인하는 방법도 쉽습니다.

kubecgl get serviceaccount --namespace test

그림2 serviceaccount 생성확인

 

 

serviceaccount를 생성하면 자동으로 토큰이 만들어집니다. 토큰은 secret에 저장됩니다.

kubectl get secret --namespace test

그림3 servciceaccount 토큰 확인

 

그림4 serviceaccount 토큰 확인

 

context 생성

serviceaccount를 이용하셔 쿠버네티스 인증을 하려면 context등록이 필요합니다.

 

serviceaccount 토큰을 환경변수로 저장

context를 생성할 때 serviceaccount토큰을 이용합니다. 토큰 길이가 꽤 길어서 리눅스 환경변수로 저장하여 사용하겠습니다. [그림 4]에서 확인한 토큰을 환경변수에 저장합니다.

export DEV_TOKEN="<토큰 값>"

그림5 토큰 환경변수 저장

 

유저 등록

kubectl config set-credentials명령어로 context 유저를 쉽게 등록할 수 있습니다. 아래 예제는 context user이름을 dev로 등록하는 예제입니다.

kubectl config set-credentials --token=$DEV_TOKEN dev

그림6 context 유저 등록

 

클러스터 이름 확인

context를 생성하기 위해서 쿠버네티스 클러스터가 필요한데요. 기존에 등록되어 있는 로컬 쿠버네티스 클러스터를 사용하겠습니다. 로컬 클러스터란 127.0.0.1주소로 시작하는 클러스터 주소입니다. 클러스터가 설치되어 있는 서버에서만 접근이 가능합니다.

아래 예제는 로컬 클러스터 이름을 확인하는 명령어입니다.

kubectl config get-clusters

 

그림7 로컬 클러스터 이름 확인

 

context 등록

[그림 6]에서 등록한 유저와 [그림 7]에서 확인한 로컬 클러스터를 이용하여 context를 등록할 것입니다. kubectl config set-context로 쉽게 context를 만들 수 있습니다. 아래 명령어는 dev이름으로 context를 생성하는 예제입니다.

kubectl set-context --cluster=cluster.local --user=dev dev

그림8 context 생성

 

context확인

생성한 context는 kubectl config get-contexts명령어로 확인할 수 있습니다. 현재 사용중인 context는 CURRENT필드에 별표로 표시됩니다.

kubectl config get-contexts

 

 

마치며

2편에서는 serviceaccount를 생성하고 context에 등록하는 과정까지 살펴봤습니다. 다음 시간에는 생성한 context를 이용하는 방법과 권한을 설정하는 방법을 다룹니다.

반응형