본문 바로가기
DevOps/Kubernetes

[EKS] kubectl 설치 & eksctl 명령어 설치 후 EKS 생성 test

by Yoon_estar 2025. 2. 11.
728x90

개요

설치 과정은 공식 문서에 자세히 나와 있으니 본인의 환경에 맞게 설치하면 된다. 

kubectl 설치 메뉴얼

https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/install-kubectl.html

 

kubectl 및 eksctl 설정 - Amazon EKS

Amazon EKS 클러스터 제어 영역과 마이너 버전이 하나 다른 kubectl 버전을 사용해야 합니다. 예를 들어 1.30 kubectl 클라이언트는 Kubernetes 1.29, 1.30, 1.31 클러스터와 함께 작동합니다.

docs.aws.amazon.com

 

eksctl 설치 메뉴얼

https://eksctl.io/installation/

 

Installation - eksctl

The official CLI for Amazon EKS

eksctl.io

 

kubectl 설치(v1.30)

$curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/linux/amd64/kubectl
$chmod +x ./kubectl
$mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
$echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

$kubectl version --client
Client Version: v1.30.2-eks-1552ad0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3

 

eksctl 설치(v0.202.0)

$ARCH=amd64
$PLATFORM=$(uname -s)_$ARCH

$curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"

$curl -sL "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_checksums.txt" | grep $PLATFORM | sha256sum --check

$tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz

$sudo mv /tmp/eksctl /usr/local/bin
$eksctl version
0.202.0

 

eksctl 명령으로 eks 생성하기

명령어 실행 후 10분 정도 지나면 eks 생성 완료됨

  • 클러스터 이름 : demo-eks
  • 리전 : ap-northeast-2 
  • 노드 그룹 이름 : demo-ng
    • Node 인스턴스 타입 : t3.medium
    • 노드 수 : 3
    • 노드 볼륨 크기 : 20G
    • 노드 그룹 적용 가용 영역 : ap-northeast-2a,ap-northeast-2c. 생략 시 전체 가용역역 사용
  • OpenID Connect (OIDC) 공급자 자동 설정 : Kubernetes의 서비스 계정과 AWS IAM 역할을 연결할 수 있도록 OIDC를 활성화
$ eksctl create cluster \
    --name <클러스터 이름> \
    --region <리전> \
    --with-oidc \
    --nodegroup-name <demo-ng> \
    --zones ap-northeast-2a,ap-northeast-2c \
    --nodes 3 \
    --node-type t3.medium \
    --node-volume-size=20 \
    --managed

 

설치 확인

$ kubectl get nodes
NAME                                                STATUS   ROLES    AGE   VERSION
ip-192-168-11-26.ap-northeast-2.compute.internal    Ready    <none>   28m   v1.30.2-eks-1552ad0
ip-192-168-42-149.ap-northeast-2.compute.internal   Ready    <none>   28m   v1.30.2-eks-1552ad0
ip-192-168-78-208.ap-northeast-2.compute.internal   Ready    <none>   28m   v1.30.2-eks-1552ad0