로컬 환경에서 테스트가 끝났다면, AWS에 배포할 준비를 시작한다.

 

 

액세스 키 만들기

AWS 리소스(EKS, ECR 등)에 접근하려면 AWS의 IAM 서비스에서 액세스키를 생성해야 한다.

 

https://aws.amazon.com/

AWS 접속 및 로그인

 

AWS IAM 서비스 검색

 

[서비스] 탭에서 IAM을 검색한다.

 

 

IAM - 사용자

 

IAM 화면 좌측에서 [사용자]를 클릭한 후

사용자가 없을 경우 [사용자 추가]

[사용자 이름]을 클릭한다.

 

 

보안 자격 증명 탭

 

[보안 자격 증명] 탭에서, [액세스 키 만들기] 버튼을 통해 액세스 키를 생성한다.

 

 

액세스 키 정보

 

추후 aws 설정을 위해 [리전 코드], [액세스 키 ID], [비밀 액세스 키] 세 가지 정보를 따로 저장해놓는다.

 

 

AWS CLIENT 설치

로컬 PC에서 aws 서비스를 제어하기 위해서 AWS Client를 설치한다.

 

docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-windows.html

위 주소로 접속하여

 

 

AWS CLI 다운로드 페이지

 

내 PC환경에 맞는 파일을 다운로드한다.

 

 

다운로드

 

다운로드된 파일을 설치한다.

 

 

설치 완료

 

 

cmd에서 aws 명령어가 정상 작동하는지 확인한다.

 

aws 명령어 확인

 

 

 

AWS CONFIGURE

 

aws configure

 

aws configure 명령어를 통해 로컬에 액세스키 정보를 등록한다.

 

 

aws configure 정보 입력

 

위에서 따로 저장한 액세스 키 정보를 입력한다.

AWS Access Key ID [None]: 액세스 키 입력

AWS Secret Access Key [None]: 비밀 액세스 키 입력

Default region name [None]리전 코드 입력

Default output format [None]: json 입력

 

 

EKSCTL 설치

EKS(Elastic Kubernetes Service)를 로컬에서 제어하기 위해서는 EKSCTL을 설치해야 한다.

 

EKSCTL을 설치하기 위해서는 chocolatey라는 소프트웨어 설치 툴을 먼저 설치한다.

 

Windows PowerShelll관리자 권한으로 실행하여

 

PowerShell로 chocolatey 설치하기

 

Set-ExecutionPolicy Bypass -Scope Process -Force;  iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

위 명령어를 수행한다.

 

choco -v

명령어로 버전이 조회된다면 정상 설치된 것이다.

 

 

chocolatey로 eksctl 설치하기

 

이제 cmd에서

chocolatey install -y eksctl

명령어로 eksctl을 설치한다.

 

 

EKS 클러스터 생성

드디어 EKSCTL을 통해서 Cluster를 생성할 수 있게 됐다.

 

Cluster를 생성하는 명령어는 다음과 같다.

eksctl create cluster --name [클러스터명] --version [EKS 버전] --nodegroup-name standard-workers --node-type [노드의 티어명] --nodes [생성할 노드 개수] --nodes-min [최소 노드 개수] --nodes-max [최대 노드 개수]

 

ex) eksctl create cluster --name kdh-cluster01 --version 1.15 --nodegroup-name standard-workers --node-type t3.medium --nodes 1 --nodes-min 1 --nodes-max 3

 

--name kdh-cluster01 => kdh-cluster01라는 이름으로 클러스터가 생성된다.

--version 1.15 => eks의 버전을 1.15로 설정한다. (2020. 07월 현재 1.14 / 1.15 / 1.16 버전 지원)

--node-type t3.medium => 물리적인 자원을 t3.medium 타입으로 지정한다.   

--nodes 1 --nodes-min 1 --nodes-max 3 => 생성 시 노드 개수는 1개, 최소 1개, 최대 3개를 사용하도록 설정한다. 

 

 

cluster 생성하기

 

cmd에서 위 명령어를 수행한다.

cluster 생성까지는 약 20분 정도의 시간이 소요된다

 

 

 

AWS EKS 서비스 접속

 

 

cluster가 실제로 생성됐는지 확인을 하기 위해서

AWS 서비스에서 eks를 검색하여 접속한다.

 

 

클러스터 생성 완료

 

설정한 이름으로 클러스터 생성이 완료됐다.

 

KUBECTL 설치

EKS(Elastic Kubernetes Service)를 컨트롤하기 위해서는 로컬에 kubectl을 설치해야 한다.

 

kubernetes.io/ko/docs/tasks/tools/install-kubectl/

위 주소에 접속하여

 

 

이 링크 클릭

 

[이 링크]를 클릭하면 다운로드가 진행된다.

 

 

kubectl.exe

 

압축을 풀면 exe파일이 생성된다.

 

 

설치 경로로 이동

 

cmd에서 kubectl.exe 파일이 설치된 경로로 이동한 후

 

 

kubectl.exe

 

kubectl.exe를 실행하면 정상 작동한다.

 

하지만 kubectl 명령어 실행 시 마다 이 경로를 참조하기는 힘드므로

[환경 변수]kubectl.exe 파일 경로를 등록한다.

 

 

새 시스템 변수 등록

 

변수 이름은 [KUBECTL_HOME]

변수 값은 kubectl.exe 파일이 있는 [폴더 경로]를 입력한다.

변수 이름: KUBECTL_HOME

변수 값: C:\msa\kubectl

 

 

Path 수정

 

시스템 변수 Path를 편집한다.

%KUBECTL_HOME% 경로를 추가한다.

 

 

KUBECTL 명령어 테스트

 

cmd에서 kubectl version --short --client 명령어를 수행해 본다.

설치된 버전이 표시되는지 확인한다.

 

EKS 클러스터 접속정보 설정

위에서 생성한 클러스터에 접속할 정보를 설정한다.

 

 

eks 토큰 생성

 

로컬에 eks 토큰을 생성한다.

 

aws eks --region [리전 코드] update-kubeconfig --name [클러스터명]

ex) aws eks --region ap-northeast-2 update-kubeconfig --name kdh-cluster01

 

위 명령어를 수행하면 로컬에 토큰 정보가 저장된다.

 

로컬에는 여러 개의 eks 토큰 정보를 저장할 수 있다.

하지만 한 번에 한 개의 eks에만 접속할 수 있다.

 

current-context 확인

 

kubectl config current-context

위 명령어로, 현재 접속한 eks 정보를 확인할 수 있다.

 

 

kubectl get all

 

kubectl get all

정상적으로 접속이 됐는지 확인해보기 위해

위 명령어를 수행해 보자.

 

위 이미지와 같이 service 하나가 조회된다면, 정상적으로 연결이 된 것이다.

 

+ Recent posts