# Amazon EKS Extended Workshop (powered by AWS Professional Services)

## 변경 사항<br>

| 일자         | 변경 내용    | 작성자 |
| ---------- | -------- | --- |
| 2024-03-19 | 최초 작성    | 김상현 |
| 2024-03-29 | 기초 사항 추가 | 김상현 |

## 어젠다<br>

1. 쿠버네테스 기초
2. 도커 컨테이너 만들기
3. 테라폼 개요
4. 테라폼을 통한 아마존 EKS 프로비저닝
5. `Helm`을 통한 워크로드 배포
6. 쿠버네테스 인증/인가 개요 - Amazon EKS와 AWS IAM 인증자 (Authenticator)
7. EKS 포드의 아이덴터티 및 자격 증명
8. `Graceful Shutdown (우아한 종료)` 테스트
9. `Amazon EKS` 네트워킹
10. 마이크로서비스 CI/CD 파이프라인 및 ArgoCD GitOps 설정
11. `Istio` 서비스 메시
12. `Amazon EKS` 기타 기술 참고 사항
13. References

## 1. 쿠버네테스 기초<br>

쿠버네테스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링 및 관리하는 오픈소스 시스템입니다.\
아래 링크에서 쿠버네테스의 기본적인 사항을 살펴볼 수 있습니다.\
[\[쿠버네테스 기초\]](https://awskrug.github.io/eks-workshop/introduction/basics/)

## 2. 도커 컨테이너 만들기<br>

도커를 사용하여 컨테이너 이미지를 만들고 레지스트리에 푸시하는 방법을 살펴봅니다.<br>

* [\[실습 환경 구성\]](https://docs.awsproserve.co.kr/amazon-eks-extended-workshop/pages/oc2GORiy9GOJUYlXePN9#2-cloud9-통합-환경-ide-생성)
* [\[도커 컨테이너 만들기\]](https://catalog.us-east-1.prod.workshops.aws/workshops/9c0aa9ab-90a9-44a6-abe1-8dff360ae428/ko-KR/40-container)

## 3. 테라폼 개요<br>

잘 아시다시피 테라폼은 인프라스트럭처를 코드로 관리하는 도구입니다.\
이번 시간에는 테라폼을 간단하게 되짚어 보고 `Amazon EKS` 클러스터를 테라폼으로 배포하기 위한 기본적인 사항을 확인합니다.<br>

`HashiCorp`가 제공하는 아래 소개 자료를 새 창에서 열고 테라폼에 대한 기본적인 내용을 함께 살펴합니다.\
[\[AWS Terraform Workshop\]](https://hashicorp.github.io/field-workshops-terraform/slides/korean/aws/terraform-oss/#1)

## 4. 테라폼을 통한 아마존 EKS 프로비저닝<br>

아래 문서에 테라폼을 통한 아마존 EKS 프로비저닝에 대한 내용이 상세하게 기술되어 있습니다.\
해당 문서를 새 창에서 열고 `아마존 EKS 클러스터를` 생성해 봅니다.<br>

[\[테라폼을 통한 아마존 EKS 프로비저닝\]](/amazon-eks-extended-workshop/docs/provision-amazon-eks-cluster-terraform.md)

이후 실습 과정은 진행자의 안내를 받아 아래 링크의 컨텐츠를 순차적으로 필요에 따라 가감하여 진행합니다.\
[\[콘솔 크리덴셜 더하기\]](https://catalog.us-east-1.prod.workshops.aws/workshops/9c0aa9ab-90a9-44a6-abe1-8dff360ae428/ko-KR/50-eks-cluster/200-option-console)

## 5. `Helm`을 통한 워크로드 배포<br>

테라폼을 통해 `Amazon EKS` 클러스터를 생성하였다면, 이제 `Helm`을 통해 워크로드를 배포해 봅니다.\
[\[Helm을 통한 워크로드 배포\]](/amazon-eks-extended-workshop/docs/deploy-workload-using-helm.md)

## 6. 쿠버네테스 인증/인가 개요 - Amazon EKS와 AWS IAM 인증자 (Authenticator)<br>

[\[쿠버네테스 인증/인가 - Amazon EKS와 AWS IAM 인증자 (Authenticator)\]](/amazon-eks-extended-workshop/docs/amazon-eks-cluster-authentication.md)

## 7. EKS 포드의 아이덴터티 및 자격 증명<br>

[\[EKS 포드의 아이덴터티 및 자격 증명\]](/amazon-eks-extended-workshop/docs/identities-and-credentials-for-eks-pods.md)

## 8. `Graceful Shutdown (우아한 종료)` 테스트<br>

[\[Graceful Shutdown (우아한 종료) 테스트\]](/amazon-eks-extended-workshop/docs/graceful-shutdown.md)

## 9. `Amazon EKS` 네트워킹<br>

[\[Amazon EKS 네트워킹\]](/amazon-eks-extended-workshop/docs/eks-networking.md)

## 10. 마이크로서비스 CI/CD 파이프라인 및 ArgoCD GitOps 설정<br>

[\[마이크로서비스 CI/CD 파이프라인 설정 및 ArgoCD GitOps\]](/amazon-eks-extended-workshop/docs/microservices-cicd-pipeline-argocd-gitops.md)

## 11. `Istio` 서비스 메시 맛보기<br>

[\[Istio 서비스 메시\]](/amazon-eks-extended-workshop/docs/istio-service-mesh-intro.md)

## 12. `Amazon EKS` 기타 기술 참고 사항

* [\[`Amazon EKS` 기타 기술 참고 사항\]](/amazon-eks-extended-workshop/docs/amazon-eks-misc.md)
* [\[`쿠버네테스 FAQ`\]](/amazon-eks-extended-workshop/docs/kubernetes-fqa.md)

## 13. References<br>

* [\[AWS Load Balancer Controller\]](https://aws.amazon.com/ko/blogs/opensource/kubernetes-ingress-aws-alb-ingress-controller/)
* [\[Kubernetes Deployment\]](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.awsproserve.co.kr/amazon-eks-extended-workshop/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
