eks로 만든 cluster를 kubectl이 config map을 로드하지 못할 경우
오랫만에 eks로 cluster를 만든 후 kubectl을 통해 aws의 kubernetes config를 불러 오려고 했는데 아래와 같이 오류가 났다.
steven@steven-ubuntu:~$ kubectl version
error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"
찾아보니 kubectl 12.4.x 버전에서 eks와 연동해서 사용할 경우 발생하는 오류라고 한다.
https://github.com/aws/aws-cli/issues/6920
대부분의 사람들이 kubectl 버전을 12.3.6으로 내리고 문제가 해결 되었다고 한다.
해결 방법
kubectl v12.3.6을 다운받는다.
steven@steven-ubuntu:~$ curl -LO https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 154 100 154 0 0 631 0 --:--:-- --:--:-- --:--:-- 631
100 44.4M 100 44.4M 0 0 21.7M 0 0:00:02 0:00:02 --:--:-- 25.5M
다운받은 kubectl을 기존 kubectl 실행 파일과 변경해 준다.
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
steven@steven-ubuntu:~$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
steven@steven-ubuntu:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:49:13Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.12-eks-a64ea69", GitCommit:"d4336843ba36120e9ed1491fddff5f2fec33eb77", GitTreeState:"clean", BuildDate:"2022-05-12T18:29:27Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
aws eks config map을 최신화 시켜준다
https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
steven@steven-ubuntu:~$ aws eks update-kubeconfig --region <<region_name>> --name <<cluster_name>>
Updated context arn:aws:eks:us-east-2:144965779334:cluster/udacity-cluster in /home/steven/.kube/config
~/.kube/config 디렉토리에 eks의 context가 업데이트 되었다.
kubectl config get-context
steven@steven-ubuntu:~$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* arn:aws:eks:us-east-2:144965779334:cluster/udacity-cluster arn:aws:eks:us-east-2:144965779334:cluster/udacity-cluster arn:aws:eks:us-east-2:144965779334:cluster/udacity-cluster
kubectl get node
steven@steven-ubuntu:~$ kubectl get node
NAME STATUS ROLES AGE VERSION
ip-10-100-3-85.us-east-2.compute.internal Ready <none> 27m v1.21.12-eks-5308cf7
728x90
반응형
'AWS' 카테고리의 다른 글
AWS 요금 확인 및 리소스 정리하기 (0) | 2022.07.09 |
---|---|
RDS 리소스 삭제하기 (0) | 2022.07.09 |
EKS prometheus and grafana 설치하기 (0) | 2022.02.07 |
kubernetes 명령어 모음 (2) | 2022.02.06 |
AWS CLI 명령어 모음 (계속) (0) | 2022.02.06 |