내용으로 건너뛰기

배스천 호스트를 사용할 때 발생하는 Amazon EKS 클러스터 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

kubectl 클라이언트를 사용하여 배스천 호스트에서 Amazon Elastic Kubernetes Service(Amazon EKS)에 연결할 때 "error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"" 오류가 발생합니다. 이 문제를 해결하고 싶습니다.

해결 방법

사용 중인 kubectl 버전이 Kubernetes 클러스터의 API 버전과 호환되지 않는 경우 invalid apiVersion 오류가 표시됩니다. 이 오류는 일반적으로 이전 버전의 AWS Command Line Interface(AWS CLI)를 사용하여 $home/.kube/config에 있는 kubeconfig 파일을 업데이트할 때 발생합니다. 이 문제를 해결하려면 AWS CLI를 최신 버전으로 업그레이드하십시오. 그런 다음 kubeconfig 파일을 다시 업데이트하십시오. kubeconfig 파일을 업데이트하면 kubeconfig 파일의 apiVersion 필드가 최신 버전(v1beta1)으로 업데이트됩니다.

최신 버전의 AWS CLI로 업그레이드

최신 버전의 AWS CLI를 설치하거나 최신 버전의 AWS CLI로 업데이트합니다.

**참고:AWS CLI 명령을 실행할 때 오류가 발생하면 **AWS CLI 오류 문제 해결을 참조하십시오.

지원되는 kubectl 버전 설치

참고: Amazon EKS 클러스터 컨트롤 플레인과 마이너 버전 간의 차이가 1 이내인 kubectl 버전을 사용해야 합니다. 예를 들어 1.28 kubectl 클라이언트는 Kubernetes 1.27, 1.28, 1.29 클러스터와 함께 작동합니다.

사용 중인 Amazon EKS 클러스터 버전에 지원되는 kubectl 버전을 설치하려면 다음 단계를 완료하십시오.

  1. kubectl을 다운로드하려면 다음 명령을 실행합니다.

        $ curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.3/2024-04-19/bin/linux/arm64/kubectl.sha256
        $ chmod +x ./kubectl

    참고: linux를 해당 운영 체제로, arm64를 해당 배포판으로, 1.29를 해당 Kubernetes 버전으로 바꾸십시오.

  2. 다운로드한 kubectl 파일을 해당 경로의 폴더에 복사합니다. 특정 버전의 kubectl을 이미 설치했다면 $HOME/bin/kubectl을 만드세요.

       $ mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH

    참고: $PATH$HOME/bin을 먼저 나열해야 합니다.

  3. 설치된 kubectl 버전을 확인하려면 다음 명령을 실행합니다.

       $ kubectl version --client
  4. (선택 사항) 쉘 초기화 파일에 $HOME/bin 경로를 추가합니다.

       $ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
  5. kubeconfig 파일을 v1alpha1에서 v1beta1로 업데이트하려면 다음 명령을 실행합니다.

       $ aws eks update-kubeconfig --name clusterName --region regionName

    참고: clusterName을 클러스터 이름으로 바꾸고 regionName을 AWS 리전으로 바꾸십시오.

  6. 클러스터에 연결할 수 있는지 테스트하려면 다음 명령을 실행합니다.

      $ kubectl get svc
      $ kubectl get pod
AWS 공식업데이트됨 일 년 전