Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

Service Account 본문

Study/K8S

Service Account

monitor 2023. 3. 19. 13:42

 Account

User Account, Service Account

 

- User Account : Admin, Developer

- Service Account : Jenkins, Promethus 등

 

응용 프로그램이 쿠버네티스 api를 사용 하려면 서비스 Account 등록이 필요하다.

 

kubectl create serviceaccount dashboard-sa

kubectl get serviceaccount

kubectl describe dashboard-sa //서비스 계정의 토큰을 볼 수 있다. 비밀 객체로 생성됨

kubectl get secret dashboard-sa-token... //서비스 토큰 확인 가능

이렇게 설정을 해두면 curl 요청시 header에 Authorization: Bearer eyJ...이 자동으로 같이 들어 갈 수 있음

 

Service Account를 만들어서 토큰 관리를 하여 kube api의 보안을 높일 수 있다.

 

하지만 써드 파디 애플리케이션 대부분은 Pod 내ㅑ부에서 자동으로 마운트하여 토큰을 지정하고 그것을 받아와서 쓸 수 있게 끔 제작되었다.

 

Pod는 k8s에서 디폴트 Service Account 를 지정해준다. 

 

하지만, Pod 오토어카운트를 지우려면 아래와 같이 설정한다.

apiVersion: v1
kind: Pod
metadata:
	name: my-pod
spec:
	containers:
    	- name: my-kubernetes-dashboard
          image: my-kubernetes-dashboard
	automountServiceAccountToken: false

 


Custom Pod의 Service Account 확인 법

kubectl describe pod my-pod

Mount:

      /var/run/secrets... 이 부분에 서비스 어카운트가 지정되어있다.

 


Service Account  지정법

기존 Pod에는 Edit 불가하고 삭제하고 만들어야 한다.

 

apiVersion: v1
kind: Pod
metadata:
	name: my-pod
spec:
	containers:
    	- name: my-kubernetes-dashboard
          image: my-kubernetes-dashboard
	serviceAccountName: dashboard-sa

 

 


Tip

 

kubectl get deployment -o yaml > dashboard.yaml //yaml을 다 칠 필요가 없다. 자주 사용하자

'Study > K8S' 카테고리의 다른 글

Taints And Tolerations  (0) 2023.03.19
Resource Requirements  (0) 2023.03.19
Docker Security  (0) 2023.03.19
Secret  (0) 2023.03.03
configMaps  (0) 2023.03.03