`kubectl`과 `eksctl` 설정하기

kubectl과 eksctl 설정하기

AWS CLI를 설치한 뒤에는 Kubernetes 클러스터를 생성·관리하기 위해 설치해야 할 도구가 두 가지 더 있습니다.

  • kubectl: kubectl 명령줄 도구는 Kubernetes 클러스터 내 리소스를 관리하는 데 사용하는 주요 도구입니다. 이 페이지에서는 Kubernetes 클러스터 버전과 일치하는 kubectl 바이너리를 다운로드·설정하는 방법을 설명합니다. Install or update kubectl을 참고하세요.
  • eksctl: eksctl 명령줄 도구는 AWS 클라우드 또는 온프레미스(EKS Anywhere 사용)에서 EKS 클러스터를 만들고 수정·삭제하는 데 사용됩니다. Install eksctl을 참고하세요.

출처: 문서

본문

kubectl 설치 또는 업데이트

이 주제에서는 기기에 kubectl 바이너리를 다운로드·설치하거나 업데이트하는 방법을 안내합니다. 이 바이너리는 커뮤니티의 상위 버전과 동일하며, Amazon EKS나 AWS 고유의 것이 아닙니다. 많은 빌더가 단순히 brew install kubectl로 설치하기도 하지만, 아래 단계를 사용해 필요한 특정 버전의 kubectl을 받을 수 있어요.

Note: kubectl 버전은 Amazon EKS 클러스터 컨트롤 플레인과 마이너 버전 차이가 1 이내여야 합니다. 예를 들어 1.35 kubectl 클라이언트는 Kubernetes 1.34, 1.35, 1.36 클러스터에서 작동합니다.

Tip: AWS CloudShell을 통해 EKS 콘솔에서 직접 kubectl을 사용할 수도 있습니다. 어떤 클러스터 세부 정보 페이지에서든 Connect를 선택하면 미리 구성된 세션을 얻을 수 있어요. 자세한 내용은 Connect kubectl to an EKS cluster by creating a kubeconfig file을 참고하세요.

1단계: kubectl 설치 여부 확인

기기에 kubectl이 이미 설치되어 있는지 확인합니다.

kubectl version --client

기기 경로에 kubectl이 설치되어 있다면 예시 출력에 다음과 유사한 정보가 포함됩니다. 설치된 버전을 더 최신 버전으로 업데이트하려면 다음 단계를 완료하고, 새 버전을 현재 버전과 같은 위치에 설치하세요.

Client Version: v1.31.X-eks-1234567

출력이 없다면 kubectl이 설치되지 않았거나 기기 경로에 없는 위치에 설치된 것입니다.

2단계: kubectl 설치 또는 업데이트

다음 운영 체제 중 하나에서 kubectl을 설치·업데이트합니다: macOS / Linux (amd64) / Linux (arm64) / Windows

Note: 이 섹션에서 사용하는 AWS 리전에서 다운로드가 느리다면 CloudFront를 설정해 콘텐츠를 프런트하는 것을 고려해 보세요. 자세한 내용은 Get started with a basic CloudFront distribution을 참고합니다.

macOS

  1. Amazon S3에서 클러스터의 Kubernetes 버전용 바이너리를 다운로드합니다. 예:
    • Kubernetes 1.36: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.36.2/2026-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.35: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.35.6/2026-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.34: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.34.9/2026-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.33: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.33.13/2026-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.32: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.32.13/2026-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.31: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.31.14/2026-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.30: curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.14/2026-07-05/bin/darwin/amd64/kubectl
  2. (선택) 다운로드한 바이너리를 SHA-256 체크섬으로 검증합니다. 클러스터의 Kubernetes 버전용 SHA-256 체크섬을 다운로드하세요. 체크섬 파일 이름은 kubectl.sha256입니다(위 URL에서 마지막 부분을 kubectl.sha256으로 변경).
  3. 다운로드한 바이너리의 SHA-256 체크섬을 확인합니다:
    openssl sha1 -sha256 kubectl
    
    생성된 체크섬이 다운로드한 kubectl.sha256 파일의 체크섬과 일치하는지 확인하세요.
  4. 바이너리에 실행 권한을 적용합니다:
    chmod +x ./kubectl
    
  5. 바이너리를 PATH의 폴더로 복사합니다. kubectl 버전이 이미 설치되어 있다면 $HOME/bin/kubectl을 만들고 $HOME/bin이 $PATH의 맨 앞에 오도록 권장합니다.
    mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    
  6. (선택) $HOME/bin 경로를 셸 초기화 파일에 추가해 셸을 열 때 구성되도록 합니다.
    echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
    

Linux (amd64)

  1. Amazon S3에서 클러스터의 Kubernetes 버전용 kubectl 바이너리를 다운로드합니다. URL 형식: https://s3.us-west-2.amazonaws.com/amazon-eks/<version>/2026-07-05/bin/linux/amd64/kubectl (예: 1.36.2, 1.35.6, 1.34.9, 1.33.13, 1.32.13, 1.31.14, 1.30.14).
  2. (선택) SHA-256 체크섬으로 바이너리를 검증합니다. 체크섬 파일: .../bin/linux/amd64/kubectl.sha256.
  3. 다음 명령 중 하나로 바이너리의 SHA-256 체크섬을 확인합니다:
    sha256sum -c kubectl.sha256
    
    또는
    openssl sha1 -sha256 kubectl
    
    첫 번째는 kubectl: OK가 보여야 하고, 두 번째는 생성된 체크섬이 다운로드한 kubectl.sha256 파일의 체크섬과 일치하는지 확인합니다.
  4. 실행 권한을 적용합니다:
    chmod +x ./kubectl
    
  5. 바이너리를 PATH의 폴더로 복사합니다(이미 버전이 있으면 $HOME/bin/kubectl 권장):
    mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    
  6. (선택) 셸 초기화 파일에 $HOME/bin 경로를 추가합니다. Bash 셸을 사용한다고 가정하며, 다른 셸이라면 해당 셸 초기화 파일을 사용하세요.
    echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
    

Linux (arm64)

  1. Amazon S3에서 kubectl 바이너리를 다운로드합니다. URL 형식: https://s3.us-west-2.amazonaws.com/amazon-eks/<version>/2026-07-05/bin/linux/arm64/kubectl.
  2. (선택) SHA-256 체크섬으로 검증합니다. 체크섬 파일: .../bin/linux/arm64/kubectl.sha256.
  3. 체크섬 확인:
    sha256sum -c kubectl.sha256
    
    또는
    openssl sha1 -sha256 kubectl
    
  4. 실행 권한 적용:
    chmod +x ./kubectl
    
  5. PATH의 폴더로 복사:
    mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    
  6. (선택) 셸 초기화 파일에 경로 추가(Bash 셸 가정):
    echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
    

Windows

  1. PowerShell 터미널을 엽니다.
  2. Amazon S3에서 kubectl 바이너리를 다운로드합니다. 예:
    • Kubernetes 1.36: curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.36.2/2026-07-05/bin/windows/amd64/kubectl.exe
    • (다른 버전도 darwin→windows로 변경한 동일한 패턴. 1.35.6, 1.34.9, 1.33.13, 1.32.13, 1.31.14, 1.30.14 지원)
  3. (선택) SHA-256 체크섬으로 바이너리를 검증합니다. 체크섬 파일: .../bin/windows/amd64/kubectl.exe.sha256.
  4. 체크섬 확인:
    Get-FileHash kubectl.exe
    
    출력의 체크섬이 다운로드한 kubectl.exe.sha256 파일의 체크섬과 일치하는지 확인합니다. PowerShell 출력은 대문자 문자열이어야 합니다.
  5. 바이너리를 PATH의 폴더로 복사합니다. 명령줄 유틸리티용으로 PATH에 기존 디렉터리가 있으면 거기 복사하고, 아니면 다음 단계를 완료하세요.
    • 명령줄 바이너리용 새 디렉터리(예: C:\bin)를 만듭니다.
    • kubectl.exe 바이너리를 새 디렉터리에 복사합니다.
    • 사용자 또는 시스템 PATH 환경 변수를 편집해 새 디렉터리를 PATH에 추가합니다.
    • PowerShell 터미널을 닫고 새로 열어 새 PATH 변수를 적용합니다.

kubectl을 설치한 후 버전을 확인할 수 있습니다.

kubectl version --client

kubectl을 처음 설치할 때는 아직 어떤 서버와도 통신하도록 구성되지 않았습니다. 이 구성은 다른 절차에서 필요할 때 다룰 거예요. 특정 클러스터와 통신하도록 구성을 업데이트해야 한다면 다음 명령을 실행할 수 있습니다. region-code를 클러스터가 있는 AWS 리전으로, my-cluster를 클러스터 이름으로 바꾸세요.

aws eks update-kubeconfig --region region-code --name my-cluster

자동 완성을 구성하는 것을 고려해 보세요. 그러면 처음 몇 글자를 입력한 뒤 탭 키로 kubectl 하위 명령을 완성할 수 있어요. 자세한 내용은 Kubernetes 문서의 Kubectl autocomplete를 참고하세요.

eksctl 설치

eksctl CLI는 EKS 클러스터를 작업하는 데 사용됩니다. 많은 개별 작업을 자동화합니다. eksctl 문서의 Installation을 참고해 설치 지침을 확인하세요. Linux에서는 UNIX 지침을 사용합니다.

eksctl 사용 시 사용 중인 IAM 보안 주체는 Amazon EKS IAM 역할, 서비스 연결 역할(service-linked roles), AWS CloudFormation, VPC 및 관련 리소스를 작업할 수 있는 권한을 가져야 해요. 자세한 내용은 IAM User Guide의 Actions와 Using service-linked roles를 참고하세요. 이 가이드의 모든 단계를 같은 사용자로 완료해야 합니다. 현재 사용자를 확인하려면 다음 명령을 실행합니다.

aws sts get-caller-identity

다음 단계

  • Quickstart: Deploy a web app and store data

더 알아보기 (Learn more)