# AWS (EKS)

{% hint style="danger" %}
앞서 프로바이더를 생성하기 전에 프로비저닝으로 생성한 클러스터는 EKS 콘솔이 아닌, <mark style="color:red;">**칵테일에서 삭제**</mark>해야 합니다. \
\
칵테일에서는 프로비저닝 한 클러스터 상태 정보를 계속 확인 하고 있습니다.   EKS 콘솔에서의 변경 사항이 생기는 경우, 다시 칵테일에서 상태를 업데이트 하기 위해 EKS 콘솔에서 삭제 하면 칵테일에서  클러스터가 다시 재 생성됩니다.
{% endhint %}

클러스터를 생성하기 위해서는 사전 작업이 필요합니다. [<mark style="color:red;">여기</mark>](../cloudprovider/aws)를 참고하세요.

## 1. 클라우드 프로바이더 생성

1\) 클러스터를 생성하기 위한 클라우드 프로바이더 생성을 위해 \[프로비저닝] - \[클라우드 프로바이더] 탭에서 우측 상단의 "+ 생성" 버튼을 클릭 후 AWS를 선택합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FqZGHDmWSf65WCgxdATXT%2Fimage.png?alt=media&#x26;token=bd3170ee-7630-44b0-80b9-9ace1eb480eb" alt=""><figcaption><p>[화면] 클라우드 프로바이더 목록</p></figcaption></figure>

2\) 기본 정보에 AWS 인증 정보를 등록 후 "저장 " 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FUtWcudHCuEziw7RlWqNM%2Fimage.png?alt=media&#x26;token=f532bdff-75b9-460c-bdbb-1e94bfa1d4d9" alt=""><figcaption><p>[화면] AWS인증 정보 등록</p></figcaption></figure>

<table><thead><tr><th width="399.28205128205127">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>계정 이름*</td><td>등록할 AWS 계정 이름 입력</td></tr><tr><td>설명</td><td>AWS 계정 설명 입력</td></tr><tr><td>AWS Access Key ID*</td><td>AWS 계정 입력</td></tr><tr><td>AWS Secret Access Key*</td><td>AWS Secret Access Key 입력</td></tr><tr><td>AssumeRole ARN</td><td>AWS AssumeRole ARN 값 입력</td></tr></tbody></table>

3\) 저장이 완료되면 정상적으로 등록이 되었는지 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FvkT8DewnES1ubU9Z0iRw%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202024-11-21%20132702.png?alt=media&#x26;token=237ac934-ee86-4a03-a8c4-b132c2da3c14" alt=""><figcaption><p>[화면] 클라우드 프로바이더 구성 정보</p></figcaption></figure>

## 2. EKS 클러스터 생성

1\) \[프로비저닝] - \[템플릿] 탭으로 이동 후 템플릿 항목에서 EKS (Elastic Kubernetes Service)​ 의 "Start" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F3O3mgjGpBicOguremtJ0%2Fimage.png?alt=media&#x26;token=62888f5b-3115-47ac-b9ca-1b5fcfae89c0" alt=""><figcaption><p>[화면] 프로비저닝 템플릿 목록</p></figcaption></figure>

2\) 기 생성한 클라우드 프로바이더 정보를 선택 후 필요한 버전을 선택하고 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FQgsd40dkkV9tkdyBpwhr%2Fimage.png?alt=media&#x26;token=806a68f3-554e-4e22-964d-e0b5daadeec9" alt=""><figcaption><p>[화면] EKS 프로비저닝</p></figcaption></figure>

<table><thead><tr><th width="205">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>계정 이름*</td><td>기 등록한 클라우드 프로바이더 선택</td></tr><tr><td>리전*</td><td>생성할 클러스터의 리전 선택</td></tr><tr><td>클러스터 이름*</td><td>생성할 클러스터 이름 등록</td></tr><tr><td>버전*</td><td>생성할 클러스터의 버전 선택</td></tr></tbody></table>

3\) 저장이 완료되면 클러스터에서 정상적으로 생성 중일 경우 "CREATING"로 상태가 생성 중입니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FhswBz8EmHFLXgLcy9USh%2F%EA%B7%B8%EB%A6%BC1.png?alt=media&#x26;token=1a57e962-9630-4885-9af9-e19a53ab2e27" alt=""><figcaption><p>[화면] EKS 클러스터 생성 목록</p></figcaption></figure>

4\) "CREATING" 상태를 클릭하면 클러스터가 생성 중인 것을 확인 할 수 있습니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F3z7YTXQM9dAXz037Q0gP%2F%EA%B7%B8%EB%A6%BC2.png?alt=media&#x26;token=16c56590-33aa-44e9-8118-4ca997021bb0" alt=""><figcaption><p>[화면] EKS 설치 정보(리소스 정보)</p></figcaption></figure>

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FkC2zlhEESBhzwXmlqMI4%2F%EA%B7%B8%EB%A6%BC3.png?alt=media&#x26;token=5067efc2-69d1-4639-881a-79406dfd13db" alt=""><figcaption><p>[화면] EKS 설치 정보(리소스 정보)</p></figcaption></figure>

5\) \[액티비티] 항목을 클릭하면 현재 진행중인 설치 내역을 확인할 수 있습니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F6ONbSZVAPFa3K5Stebza%2Fimage.png?alt=media&#x26;token=8eb2615e-74e0-497c-94a6-25f0b194b0a3" alt=""><figcaption><p>[화면] EKS 설치 정보(액티비티)</p></figcaption></figure>

6\) 클러스터가 정상적으로 생성이 완료되면 상태가 "RUNNING" 변경됨을 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F58B9PZ2ja1pcmE2D7RzI%2Fimage.png?alt=media&#x26;token=549c4f38-4734-4f59-b7f0-0f12fbe37ef1" alt=""><figcaption><p>[화면] 클러스터 생성 목록</p></figcaption></figure>

{% hint style="info" %}
**프로비저닝한 클러스터를 서비스하려면 addon-manager 배포와 스토리지 클래스를 배포해야합니다.**
{% endhint %}

## 3. AWS Node Group 추가

{% hint style="info" %}
#### Amazon Node Group는 클러스터 프로비저닝 설치가 완료되어야 생성할 수 있습니다.
{% endhint %}

1\) 클러스터 구성이 완료되면 클러스터 선택 후 \[리소스] 탭에서 "+ 노드 그룹 추가" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fkn6wkLnSjwSa3jxNNBns%2Fimage.png?alt=media&#x26;token=ad4bda35-35f7-450d-aa29-65aaf84ff74f" alt=""><figcaption><p>[화면] EKS 설치 정보(리소스 정보)</p></figcaption></figure>

2\) 생성이 필요한 노드 그룹의 정보를 입력 후 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-feef7f21be87a2acaa14028d91144dfeb3837126%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] EKS 노드 추가 정보</p></figcaption></figure>

<table><thead><tr><th width="192">항목(*은 필수)</th><th>내용</th></tr></thead><tbody><tr><td>노드 그룹 명*</td><td>생성할 Node의 이름 작성</td></tr><tr><td>인스턴스 종류*</td><td>생성할 인스턴스(리소스) 선택</td></tr><tr><td>디스크 크기 (GIB)*</td><td>생성될 노드 그룹의 디스크 용량 입력</td></tr><tr><td>원하는 노드 개수*</td><td>생성할 노드 그룹 개수 입력</td></tr><tr><td>최소 노드 개수*</td><td>스케일 인 시 최소 생성될 노드 그룹 개수</td></tr><tr><td>최대 노드 개수*</td><td>스케일 아웃 시 최대 생성될 노드 그룹 개수</td></tr></tbody></table>

3\) 노드 그룹 추가가 시작되면 "노드 그룹" 항목에 상태가 표시됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FFptvWzFN96J4TTWejr4B%2Fimage.png?alt=media&#x26;token=9b5a7dcf-7fc5-463c-8c32-555474a388d7" alt=""><figcaption><p>[화면] EKS 노드 추가 상태</p></figcaption></figure>

4\) 노드그룹 추가가 시작되면 "노드 그룹" 항목에 상태가 "ACTIVE"로 표시됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FwVAbKk3NolabFGwRJL7I%2Fimage.png?alt=media&#x26;token=6c3b7589-2b78-42b0-bcbb-a976a04f7901" alt=""><figcaption><p>[화면] EKS 노드 추가 완료상태</p></figcaption></figure>

5\) \[인프라] - \[클러스터] 탭에서 클러스터의 상태와 노드 수가 정상적으로 보여지는지 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FcnloFmBoXUpynRdRtflK%2Fimage.png?alt=media&#x26;token=27e4ff14-b8d0-4515-bce7-8deffb56fafd" alt=""><figcaption><p>[화면] 클러스터 생성 목록</p></figcaption></figure>

## 4. Amazon EBS CSI 드라이버 추가

{% hint style="info" %}
#### Amazon EBS CSI 드라이버는 노드 그룹이 한 개 이상 존재해야 생성할 수 있습니다.
{% endhint %}

1\) 노드 그룹 구성이 완료되면 클러스터 선택 후 \[리소스] 탭에서 "+ Amazon EBS CSI Driver 설치" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FEBKJ7GQfDj7KJu8GyFKe%2Fimage.png?alt=media&#x26;token=56f801b1-b88f-4736-be1a-8b33e3d6367b" alt=""><figcaption></figcaption></figure>

2\)설치를 진행하면서 리소스를 생성하는 데 시간이 걸리고 이후에 설치가 완료됨을 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FiDX8ClNB6xWKP5em0seu%2Fimage.png?alt=media&#x26;token=f1aae766-93b5-46fd-94ec-e83a711617c5" alt=""><figcaption></figcaption></figure>

3\)Amazon EBS CSI 드라이버가 완료되면 "Amazon EBS CSI 드라이버" 항목에 상태가 표시됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FFsNmr5DS4Dlcglx4lPjV%2Fimage.png?alt=media&#x26;token=95e230ff-1a5a-4c57-8ec0-6cf71232b8d3" alt=""><figcaption></figcaption></figure>

4\)\[워크로드] - \[디플로이먼트]에 Amazon EBS CSI 드라이버가 설치되었음을 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FZt7lwKdkjqF6mzfhmVOt%2Fimage.png?alt=media&#x26;token=47b283f1-795b-49a1-9dea-de16cb68e6af" alt=""><figcaption></figcaption></figure>

## 5. 클러스터 오토스케일러 추가

{% hint style="info" %}
#### 클러스터 오토스케일러는 노드 그룹이 한 개 이상 존재해야 생성할 수 있습니다.
{% endhint %}

1\) 노드 그룹 구성이 완료되면 클러스터 선택 후 \[리소스] 탭에서 "+ 클러스터 오토스케일러 설치" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FN7EtdaemHaaQlgvX7dj1%2Fimage.png?alt=media&#x26;token=8125dfbf-7bf0-407e-ac96-bbc256a8593f" alt=""><figcaption></figcaption></figure>

2\)설치를 진행하면서 리소스를 생성하는 데 시간이 걸리고 이후에 설치가 완료됨을 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fjapit4hCszuqLHO14DZF%2Fimage.png?alt=media&#x26;token=f41086fd-a62b-44bb-a770-1e119e94f85e" alt=""><figcaption></figcaption></figure>

3\) 설치가 완료되면 "클러스터 오토스케일러" 항목에 상태가 표시됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FgERJA0mSAs9K936TKqqb%2Fimage.png?alt=media&#x26;token=796d98fd-8693-41c0-aecb-893143c28a93" alt=""><figcaption></figcaption></figure>

4\)\[워크로드] - \[디플로이먼트]에 클러스터 오토스케일러가 설치되었음을 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FcBwmYxQJbtBdZ6Gzn28s%2Fimage.png?alt=media&#x26;token=86a028bb-ea6f-4dc2-89a0-6ff68e685036" alt=""><figcaption></figcaption></figure>
