> For the complete documentation index, see [llms.txt](https://docs.awsproserve.co.kr/amazon-eks-extended-workshop/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.awsproserve.co.kr/amazon-eks-extended-workshop/readme.md).

# 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/)
