목차
EKS 클러스터 생성부터 서비스 배포까지 1. 쿠버네티스, EKS 기초
EKS 클러스터 생성부터 서비스 배포까지 2. EKS 환경 세팅하기
EKS 클러스터 생성부터 서비스 배포까지 3. eksctl을 사용하여 EKS실행하기, 노드그룹 설정하기
EKS 클러스터 생성부터 서비스 배포까지 4. K8s 대시보드 배포
EKS 클러스터 생성부터 서비스 배포까지 5. 마이크로서비스 배포
EKS 클러스터 생성부터 서비스 배포까지 6. HELM
eksctl을 사용하여 EKS실행하기

eksctl은 ec2를 위한 aws의 관리쿠버네티스 서비스인 eks에 클러스터를 만들고 관리하기 위한 심플한 CLI 도구입니다. 이 eksctl을 사용하여 EKS클러스터를 생성, 실행 및 테스트를 해보도록 하겠습니다.
eksctl 설치
eks 바이너리를 다운로드하고 설치합니다.
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "<https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz>"
# (Optional) Verify checksum
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
EKS 클러스터 생성
다음 명령을사용하여 EKS 클러스터를 생성합니다.
eksctl create cluster --name=eksworkshop-eksctl --nodes=3 --region=${AWS_REGION} --managed=false

해당 작업은 약 15분 가량 소요됩니다.
K8s 클러스터 테스트
노드를 확인해보겠습니다.
kubectl get nodes
역할이름을 환경변수로 지정하겠습니다. 이전에 생성한 IAM Role을 지정합니다.
노드그룹 설정하기
노드그룹을 설정하도록 하겠습니다. 관리형 노드그룹에 특정 인스턴스를 지정할 수도 있고, 원하는 스펙을 기입하면 어떤 인스턴스 유형이 노드그룹에 적합한지 리소스를 기준으로 유형목록을 생성하여 인스턴스셀렉터와 통합됩니다.
예를들어, 다음과같이 vCPU는 2개, Memory는 4GiB를 원하는경우 다음과 같이 지정할 수 있습니다.
eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4
vCPU : 2, RAM : 4의 인스턴스 유형은 c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium가 존재하므로, 해당 유형이 자동 선택됩니다.
dry-run 테스트 기능을 사용하여 인스턴스를 검사하고 변경할 수 있습니다.
$ eksctl create cluster --name development --instance-selector-vcpus=2 --instance-selector-memory=4 --dry-run
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
# ...
managedNodeGroups:
- amiFamily: AmazonLinux2
instanceSelector:
memory: "4"
vCPUs: 2
instanceTypes:
- c5.large
- c5a.large
- c5ad.large
- c5d.large
- t2.medium
- t3.medium
- t3a.medium
...
# other config
Config을 생성하여 클러스터 생성시에 파일을 전달하여 그룹을 설정할 수 있습니다.
$ eksctl create cluster -f instance-selector-cluster.yaml
Config 파일은 다음과 같은 형태를 따릅니다.
# instance-selector-cluster.yaml
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: cluster
region: us-west-2
nodeGroups:
- name: ng
instanceSelector:
vCPUs: 2
memory: "2"
# managedNodeGroups:
# - name: mng
# instanceSelector:
# vCPUs: 2
# memory: 2GiB #
# cpuArchitecture: x86_64 # default value
'Cloud > EKS' 카테고리의 다른 글
| EKS 클러스터 생성부터 서비스 배포까지 5. 마이크로서비스 배포 (0) | 2023.11.22 |
|---|---|
| EKS 클러스터 생성부터 서비스 배포까지 4. K8s 대시보드 배포 (0) | 2023.11.22 |
| EKS 클러스터 생성부터 서비스 배포까지 2. EKS 환경 세팅하기 (0) | 2023.11.22 |
| EKS 클러스터 생성부터 서비스 배포까지 1. 쿠버네티스, EKS 기초 (0) | 2023.11.22 |
| AWS EKS Workshop - (컴포넌트 구성, 배포) (0) | 2023.10.12 |