반응형
개요
configmap 이란 ?
secret은 key-value 쌍에 기밀 데이터를 저장하고,
configmap은 환경변수, 일반 데이터를 저장하는데 사용하는 API 개체입니다.
ex) nginx.conf 내용을 변경하려면 nginx 도커이미지를 다시 빌딩하는 것이 아니라, configmap으로 nginx.conf를 수정할 수 있다.
aws-auth 이란?
aws-auth은 EKS에 접근 권한을 설정하는 유저 환경변수를 저장하는 곳이다.
[ EKS 권한 에러 ]
EKS 권한이 없으면 EKS에서 아래와 같은 에러가 발생합니다.
- 에러
- 현재 사용자 또는 역할이 이 EKS cluster에 있는 Kubernetes 객체에 액세스할 수 없습니다.
- 이는 현재 사용자 또는 역할에 클러스터 리소스를 설명할 Kubernetes RBAC 권한이 없거나 클러스터의 인증 구성 맵에 항목이 없기 때문일 수 있습니다.
- 해결방안
- aws-auth에서 SSO 유저 추가
1. SSO 유저 권한 설정
- SSO ARN 정보 확인
- AWS IAM → 역할 → “AWSReservedSSO” 검색

- aws-auth 설정
- ConfigMap에서 aws-auth에 SSO ARN 정보 추가
kubectl edit cm aws-auth -n kube-system
apiVersion: v1
data:
mapRoles: |
- groups:
- system:masters
rolearn: arn:aws:iam::xxxxxxxx:role/AWSReservedSSO_AdministratorAccess_xxxxxxxx
username: xxx@xxx.com
- groups:
- system:masters
rolearn: arn:aws:iam::xxxxxxxx:role/AWSReservedSSO_AdministratorAccess_xxxxxxxx
username: xxx@xxx.com
2. 일반 유저 권한 설정
- aws-auth 설정
- ConfigMap에서 aws-auth에 일반 사용자 정보 추가
- test_user
kubectl edit cm aws-auth -n kube-system
apiVersion: v1
data:
mapRoles: |
- groups:
- system:masters
rolearn: arn:aws:iam::xxxxxxxx:role/AWSReservedSSO_AdministratorAccess_xxxxxxxx
username: xxx@xxx.com
- groups:
- system:masters
rolearn: arn:aws:iam::xxxxxxxx:role/AWSReservedSSO_AdministratorAccess_xxxxxxxx
username: xxx@xxx.com
mapUsers: |
- groups:
- system:masters
userarn: arn:aws:iam::1234567890:user/test_user
username: test_user
EKS admin 권한
- EKS를 처음 생성하게되면, aws-auth에 접근 권한이 되어 있지 않습니다.
- EKS를 생성한 계정은 admin 권한이 있으며,생성한 계정으로 aws-auth에 정보를 업데이트한다.
반응형
'인프라 > 시스템 구축' 카테고리의 다른 글
[ EKS ] HPA (0) | 2023.04.04 |
---|---|
[ EKS ] Secret, ConfigMap 설정 (0) | 2023.04.04 |
[ EKS ] Limit, Request 설정 (0) | 2023.04.04 |
[ EKS ] drain, cordon (0) | 2023.04.04 |
[ EKS ] NodeSelector 설정 (0) | 2023.04.03 |