EKS 1.24가 되면서, SA(Service Account 이하 SA로 지칭)의 생성 및 활용하는 방법이 변경되었다.
아래 코드를 입력하여 SA를 생성한다.
apiVersion: v1
kind: ServiceAccount
metadata:
name: account-name
namespace: namespace-name
1.24 버전 전까지는 SA 생성 후 토큰까지 자동 생성되었지만…
1.24 이후에는 토큰 및 인증서 생성이 수동으로 변경되었다.
그래서 아래 코드를 입력하여 secret으로 type: service-account-token을 생성한다.
apiVersion: v1
kind: Secret
metadata:
name: secret-sa-name
namespace: namespace-name
annotations:
kubernetes.io/service-account.name: "account-name"
type: kubernetes.io/service-account-token
생성이 완료되면 다음과 같이 토큰값과 인증서가 생성된다.
이제 다시 SA로 이동하여 아래와 같이 secrets를 명시 후 apply 한다.
apiVersion: v1
kind: ServiceAccount
metadata:
name: account-name
namespace: namespace-name
secrets:
- name: secret-sa-name
이전 버전까지는 SA 생성 후 토큰 생성 및 SA가 자동으로 마운트 되었지만 1.24 이후엔 수동으로 변경되어 해당 작업이 필요하게 되었다.
해당 작업이 정상적으로 되었다면.. 아래 처럼 sa-token이 마운트된 것을 확인할 수 있다.
이후 해당 SA를 이용하여 cluster-role이나 role에 붙이는 작업을 하면 된다.