1. eks로 만든 cluster를 kubectl이 config map을 로드하지 못할 경우
2. 해결 방법
2.1. kubectl v12.3.6을 다운받는다.
2.2. 다운받은 kubectl을 기존 kubectl 실행 파일과 변경해 준다.
2.3. aws eks config map을 최신화 시켜준다
1. 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"
shell
찾아보니 kubectl 12.4.x 버전에서 eks와 연동해서 사용할 경우 발생하는 오류라고 한다.
https://github.com/aws/aws-cli/issues/6920
대부분의 사람들이 kubectl 버전을 12.3.6으로 내리고 문제가 해결 되었다고 한다.
2. 해결 방법
2.1. 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
shell
2.2. 다운받은 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"}
shell
2.3. 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
shell
~/.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
shell
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
shell
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 |