본문 바로가기

⭐ Kubernetes & EKS/🔑 ServiceAccount

EKS 1.24 이후 버전부터 ServiceAccount 수동 생성

# EKS 1.24 버전 이후부터 ServiceAccount 생성방법 변경

EKS 1.24가 되면서, SA(Service Account 이하 SA)의 생성 및 활용하는 방법이 변경되었다.

원래 Account만 생성되면 자동으로 Secret(token)도 함께 생성이 되었었는데, 변경이 되었다.

예제를 통해서 알아보자.

1. ServiceAccount를 생성한다.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: jenkins-user-role
  namespace: jenkins

2. secret으로 type: service-account-token을 생성한다.

apiVersion: v1
kind: Secret
metadata:
  name: jenkins-secret
  namespace: jenkins
  annotations:
    kubernetes.io/service-account.name: jenkins-user-role
type: kubernetes.io/service-account-token

3. 이제 ServiceAccount에 secret을 맵핑 한다.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: jenkins-user-role
  namespace: jenkins
secrets:
  - name: jenkins-secret

4. 확인

- 정상적으로 생성된 것을 확인 할 수 있다.

seungkim:~/environment/service-account $ kubectl get secret -A
NAMESPACE      NAME                            TYPE                                  DATA   AGE
cert-manager   cert-manager-webhook-ca         Opaque                                3      27h
jenkins        jenkins-secret                  kubernetes.io/service-account-token   3      7m4s
kube-system    aws-load-balancer-webhook-tls   kubernetes.io/tls                     3      27h

- 끝 -