<aside> 📢 PDF 문서의 경우 스크립트 복사 시 명령어가 잘릴 수 있으므로 https://bit.ly/2023-EKS로 접속하셔서 웹 페이지에서 실습 안내를 보시길 권장 드립니다.

</aside>

<aside> 💡 실습은 EKS Autoscaling Workshop을 사용합니다.

</aside>

주의 사항

  1. 실습 환경 구축 시 사용하시는 리전에 VPC limit인 5개를 초과하지 않는지 확인하시기 바랍니다. VPC limit에 도달할 경우 실습 환경 구축 과정이 실패할 수 있습니다.
  2. 실습 환경 구축 시 사용하시는 리전에 Elastic IP limit인 5개를 초과하지 않는지 확인하시기 바랍니다. Elastic IP limit에 도달할 경우 실습 환경 구축 과정이 실패할 수 있습니다.
  3. 실습이 끝난 후에는 불필요한 비용이 과금되지 않도록 반드시 “실습 환경 완전 정리하기” 절차를 수행하여 생성된 리소스를 제거하시기 바랍니다.
  4. 실습 환경은 아래 리전에서 테스트 되었으므로, 되도록이면 아래 리전 중 하나를 선택해서 실습을 진행해주시기 바랍니다.

실습 환경 구축하기

  1. AWS 콘솔에 로그인합니다.

  2. 검색창 오른편에 쉘 모양 아이콘을 선택하여 Cloud Shell을 실행 합니다. (또는 검색창에 CloudShell을 선택할 수도 있습니다.)

    Untitled

  3. 아래 그림과 같이 CloudShell의 터미널 창이 표시됩니다.

    Untitled

  4. 터미널에 아래 명령어를 복사하여 붙여넣습니다.

    wget -q <https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/stable/lab/cfn/eks-workshop-ide-cfn.yaml> -O eks-workshop-ide-cfn.yaml
    aws cloudformation deploy --stack-name eks-workshop-ide \\
    --template-file ./eks-workshop-ide-cfn.yaml \\
    --parameter-overrides RepositoryRef=stable EksWorkshopC9InstanceType=t3.medium \\
    --capabilities CAPABILITY_NAMED_IAM
    
  5. 여러 줄의 명령어를 붙여넣을 경우 다음과 같은 경고 메시지가 표시되는데 실습에서 실행할 명령어는 악성 스크립트가 포함되어 있지 않기 때문에 [여러 줄 코드를 붙여 넣기 전에 물어보기] 항목의 체크를 해제하고 **[붙여넣기]**를 선택합니다.

    Untitled

  6. 명령을 실행하면 CloudFormation 스택이 생성되어 필요한 인프라 리소스를 생성합니다. 이 과정은 5분 정도 소요되며, 생성 완료 이 후 아래 명령을 실행하여 Cloud9 URL을 복사하여 브라우저에서 접속합니다.

    aws cloudformation describe-stacks --stack-name eks-workshop-ide \\
        --query 'Stacks[0].Outputs[?OutputKey==`Cloud9Url`].OutputValue' --output text
    

    다른 방법으로 “AWS Console 검색창 → Cloud9 → eks-workshop-ide”의 [열림]을 선택해서 접속할 수도 있습니다.

    Untitled

  7. 아래와 같이 Cloud9에 정상적으로 접속 되었는지 확인합니다.

    cloud9-splash-9c66abadb298f6882ada50005112bea9.png

  8. Cloud9 화면에서 “+” 버튼을 선택하고 New Terminal을 선택하여 새로운 터미널 창을 실행합니다.

    Untitled

  9. 이제 우리는 eksctl을 사용해서 Amazon EKS 클러스터를 생성할 것입니다. 아래 명령을 실행하면 “eks-workshop”이라는 이름의 클러스터가 생성됩니다.

    export EKS_CLUSTER_NAME=eks-workshop
    curl -fsSL <https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/stable/cluster/eksctl/cluster.yaml> | \\
    envsubst | eksctl create cluster -f -
    

    명령 실행 시 CloudFormation 스택을 통해 필요한 리소스가 생성되며 20분 정도 소요됩니다. 실행 결과는 다음과 같습니다.

    Untitled

  10. 클러스터 생성이 완료 되었다면 아래 명령을 실행하여 kubectl 명령이 정상 실행되는지 확인합니다.

    kubectl get nodes
    

    Untitled

  11. Cloud9에서 실습에 해당 클러스터를 사용하도록 아래 명령을 실행합니다. 이 명령은 이번 실습을 위해 편의상 사전에 설치된 커맨드라인 명령어 이므로 Kubernetes와는 무관합니다.

    use-cluster $EKS_CLUSTER_NAME