본문 바로가기

kubectl 치면 error: You must be logged in to the server (Unauthorized) 나옵니다

조회 3 · 댓글 1
케이시88작성자2026년 8월 23일

EKS 클러스터 쓰고 있는데 어제까지 잘 되던 kubectl이 오늘 갑자기 이럽니다.

$ kubectl get nodes
error: You must be logged in to the server (Unauthorized)

aws sts get-caller-identity 치면 자격증명은 정상으로 나오고요. 클러스터를 지운 것도 아니고 AWS 콘솔에서는 멀쩡히 보입니다. 노트북 재부팅도 해봤는데 똑같네요. 뭘 확인해봐야 할까요? kubectl 1.31, EKS 1.32 쓰고 있습니다.

아무로레이2026년 8월 24일

그 에러는 kubectl이 API 서버에 보낸 인증 토큰이 거부됐다는 뜻이라, 거의 항상 자격증명 쪽 문제입니다. 어제까지 되다가 갑자기 안 되는 경우 순서대로 확인해보세요.

1. kubeconfig 갱신부터. 제일 흔한 원인이라 이것부터 하고 다시 시도해보세요.

aws eks update-kubeconfig --region ap-northeast-2 --name 클러스터명

2. 지금 kubectl이 쓰는 IAM 주체가 kubeconfig 만들 때와 같은지. get-caller-identity가 "정상"으로 나와도 어느 계정/역할이냐가 중요합니다. AWS_PROFILE이 바뀌었거나 SSO 세션이 만료된 경우가 많아서, SSO 쓰시면 aws sso login 한 번 하고 다시 해보세요. 프로필 여러 개 쓰시면 kubeconfig의 exec 섹션에 --profile을 명시해두면 재발이 없습니다.

3. 1, 2로 안 되면 그 IAM 주체가 클러스터에 등록 안 된 겁니다. EKS는 클러스터에 등록된 주체(access entries 또는 구방식 aws-auth ConfigMap)만 인증을 통과시켜서, 권한이 아무리 커도 등록이 없으면 Unauthorized가 납니다. 클러스터 만든 계정으로 aws eks list-access-entries 확인해보세요.

재부팅이나 kubectl 버전은 이 에러랑 상관없으니 그쪽은 안 보셔도 됩니다.

로그인 후 답글을 남길 수 있습니다.