오늘도 한 뼘 더
[k8s] error: You must be logged in to the server (Unauthorized) - cluster 생성자가 아닌 사용자에게 권한 부여 본문
DevOps & Infra/K8S(Kubernetes)
[k8s] error: You must be logged in to the server (Unauthorized) - cluster 생성자가 아닌 사용자에게 권한 부여
나른한댕댕이🐶 2023. 2. 15. 14:05728x90
반응형
# 배경
AWS EKS Cluster를 생성한 사용자 외의 다른 사용자가 cluster 및 리소스들을 접근할 수 있도록 권한을 부여하고 싶다.
# 문제
aws configure
다른 사용자를 설정하고 kubectl 명령어를 입력하면 다음과 같은 에러가 발생한다.
$ kubectl get pods
> error: You must be logged in to the server (Unauthorized)
설정한 사용자에게 eks에 대한 권한이 없기에 발생하는 문제이다.
# 해결방법
EKS Cluster 구성에 있는 configmap의 aws-auth에 해당 사용자를 매핑시켜주어야 한다.
$ kubectl edit configmap -n kube-system aws-auth
위 명령어를 통해서 configmap의 aws-auth 수정 파일을 열어준다.
다음과 같이 작성하여 사용자에게 권한을 부여한다.
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: <ARN of instance role (not instance profile)>
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
mapUsers: |
- userarn: <arn:aws:iam::111122223333:user/admin>
username: <admin>
groups:
- <system:masters>
다시 kubectl 명령어를 사용하면 잘 나오는 것을 볼 수 있다.
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
deployment-admin 1/1 Running 2 (22h ago) 19d
728x90
반응형
'DevOps & Infra > K8S(Kubernetes)' 카테고리의 다른 글
[k8s] WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/.kube/config (0) | 2023.04.04 |
---|---|
[k8s] kubectl 버전을 낮췄는데 적용되지 않는다. (0) | 2023.02.16 |
[k8s] error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" (0) | 2023.01.10 |
[k8s] error: Metrics API not available (0) | 2023.01.09 |
[k8s] Deployment(디플로이먼트) (0) | 2023.01.02 |
Comments