티스토리 뷰
EKS 설치 및 시작하기
EKS는 CLI와 콘솔에서 모두 설치 가능하며, 클러스터를 구성하는 방법은 크게 다음의 3가지가 있습니다.
📌 EKS 클러스터 구성 방법 3가지
1. eksctl CLI를 이용해 root 권한으로 yaml 파일 생성 및 실행
2. 콘솔을 통해 클러스터 구성 ← 사전에 role 생성 필요
3. 일반 사용자 권한으로 사용자 키를 이용해 인증 후 스크립트 실행
→ 버전 변경 후 불안정한 방식, 거의 사용 X
이 글에서는 우선 첫 번째 방법인 CLI를 사용해 EKS를 설치하고 클러스터를 구성해 보겠습니다.
eksctl CLI 이용
1) k8s-managed-server 인스턴스 생성
우선 클러스터 관리 용도로 사용할 인스턴스를 하나 생성합니다.
2) AWS CLI 설치
sudo apt-get install -y unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
3) eksctl 설치
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version
4) kubectl 설치
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
kubectl version --short --client
5) IAM 사용자 생성
aws configure에 로그인할 사용자를 생성합니다.
📌 AdministratorAccess = 모든 권한
인스턴스 생성과 삭제, 서비스 실행과 종료, 사용자 생성/수정/삭제 등 모든 작업이 가능한 권한으로 신중히 사용해야 하는 권한입니다.
특히 사용자의 권한을 통제할 수 있는 IAM 권한까지 포함하기 때문에 신중히 사용해야 하지만, 그렇기 때문에 역설적이게도 모든 실습에 가장 많이 사용되는 권한이기도 합니다(!)
6) aws configure 계정 등록
7) cluster.yaml 파일 생성 및 실행
vi cluster.yaml
eksctl create cluster -f cluster.yaml
# yaml 파일 실행 (약 20분 정도 소요)
eksctl delete cluster -f cluster.yaml
# 삭제
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: cluster-in-existing-vpc
region: ap-northeast-2
vpc:
subnets:
private:
ap-northeast-2c: { id: subnet-03xxxxxxxxxxxxxxx }
ap-northeast-2a: { id: subnet-0cxxxxxxxxxxxxxxx }
nodeGroups:
- name: ng-1-workers
labels: { role: workers }
instanceType: t2.small
desiredCapacity: 3
privateNetworking: true
- name: ng-2-builders
labels: { role: builders }
instanceType: t2.small
desiredCapacity: 3
privateNetworking: true
iam:
withAddonPolicies:
imageBuilder: true
*** 환경에 맞도록 subnet 수정
*** 노드그룹 ng-1 3개 + ng-2 3개 = 총 6개의 인스턴스를 기본적으로 생성
*** privateNetworking : 보안을 위해 private subnet에 만들어지도록 사용하는 옵션
8) 설치 확인
+) 클러스터 구성 방법 비교: CLI vs 콘솔
CLI를 통해서 만들면 Worker-node의 이름이 직관적으로 설정되지만, 콘솔에서 생성한 경우 이름이 설정되지 않습니다.
따라서 현업에서는 명시적 구별이 쉬운 CLI로 yaml 파일을 통해 클러스터를 구성 하고 노드를 생성하는 경우가 많습니다.
'Cloud > AWS' 카테고리의 다른 글
[AWS VPC] 가상 네트워크 환경 구성하기(2): IGW, NGW, EIP (1) | 2023.12.05 |
---|---|
[AWS VPC] 가상 네트워크 환경 구성하기(1): VPC 생성, 서브넷 분리 (0) | 2023.12.04 |
[AWS EC2] EKS 시작하기(3): AWS 콘솔 구성 (0) | 2023.06.06 |
[AWS EC2] EKS 시작하기(1): Kubernetes on AWS (0) | 2023.06.06 |
[AWS EC2] pem key 없이 패스워드로 로그인 설정하기 (0) | 2023.05.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- IAM
- VM Tools
- vsphere
- aws cli
- 클라우드 DNS 서비스
- Docker
- k8s
- Windows Server
- 에티버스러닝
- Vmware
- Azure DNS
- ycampus
- Route53
- kubernetes
- EKS
- Google Cloud DNS
- AWS
- Route53 비용 정책
- RECA
- kubectl
- Ansible
- redhat
- Git
- IAC
- Window Server Manager
- github
- Local Zones
- Linux
- rocky9
- VPC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함