Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Deploying an Amazon EKS application using CDK8s (Korean)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!

실습 개요

기존 방식으로 Kubernetes 애플리케이션을 생성하려면 복잡한 YAML 파일을 작성하고 관리해야 합니다. 이러한 파일에는 대개 표준 문안 코드가 포함됩니다. 따라서 개발자는 이처럼 번거로운 프로세스를 처리하느라 핵심 애플리케이션 개발에 더 많은 시간을 할애하기가 어려워집니다. 그리고 이러한 YAML 파일은 시간이 지남에 따라 갈수록 유지 관리하기도 어려워집니다. YAML은 클러스터 상태를 설명하는 데 사용되지만 논리적 표현식이나 재사용 가능 추상화를 처리할 수 있는 프로그래밍 언어가 아닙니다. 이러한 YAML의 단점을 해결하는 데 사용할 수 있는 다양한 도구가 제작되었습니다.

이 실습에서는 Cloud Development Kit for Kubernetes (cdk8s) 사용 방법을 실습해 봅니다. 현재는 Typescript, Python, Java, Go에서 cdk8s를 사용할 수 있습니다. cdk8s를 사용하면 Kubernetes 애플리케이션 및 재사용 가능 추상화를 정의하여 순수 Kubernetes YAML을 생성할 수 있습니다. 이 실습에서는 AWS Cloud Development Kit(AWS CDK)를 사용하여 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터를 생성한 다음 cdk8s를 사용하여 애플리케이션(서비스/배포)을 추가합니다.

이 실습에서는 다음 서비스를 사용합니다.

AWS Cloud Development Kit(AWS CDK)

AWS CDK는 오픈 소스 소프트웨어 개발 프레임워크입니다. 익숙한 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 모델링하고 프로비저닝할 수 있습니다. AWS CDK는 검증된 기본값으로 클라우드 리소스를 사전에 구성하는 상위 수준 구성 요소를 제공하므로, 전문가가 아니어도 클라우드 애플리케이션을 구축할 수 있습니다. AWS CDK에서는 AWS CloudFormation을 사용하여 반복 가능한 방식으로 리소스를 프로비저닝할 수 있습니다.

AWS CDK에 대한 자세한 내용을 보려면 이 URL을 선택하세요.

AWS Cloud9

AWS Cloud9은 브라우저만으로 코드를 작성, 실행 및 디버그할 수 있는 클라우드 기반 통합 개발 환경(IDE)으로서, 코드 편집기, 디버거 및 터미널이 포함되어 있습니다. AWS Cloud9은 JavaScript, Python, PHP 등과 같은 대중적인 프로그래밍 언어를 위한 필수 도구와 함께 사전 패키지로 제공됩니다. 새 프로젝트를 시작하기 위해 파일을 설치하거나 개발 머신을 구성할 필요가 없습니다.

AWS Cloud9에 대한 자세한 내용을 보려면 이 URL을 선택하세요.

AWS CloudFormation

AWS CloudFormation에서는 클라우드 환경에서 AWS 및 서드 파티 애플리케이션 리소스를 모델링하고 프로비저닝할 수 있도록 공용 언어를 제공합니다.

AWS CloudFormation에 대한 자세한 내용을 보려면 이 URL을 선택하세요.

Amazon EKS

Amazon EKS는 AWS 및 온프레미스 데이터 센터에서 Kubernetes를 실행하는 데 사용할 수 있는 관리형 Kubernetes 서비스입니다. 클라우드에서 Amazon EKS는 컨테이너 예약, 애플리케이션 가용성 관리, 클러스터 데이터 저장 및 다른 주요 태스크를 담당하는 Kubernetes 제어 플레인 노드의 가용성과 확장성을 자동으로 관리합니다. Amazon EKS에서는 우수한 성능과 신뢰성, 사용성 및 크기 조정 기능을 제공하는 AWS 인프라를 활용할 수 있습니다. 또한 AWS 네트워킹 및 보안 서비스와 Amazon EKS를 통합할 수도 있습니다. 온프레미스에서 Amazon EKS는 완벽하게 지원되는 일관된 Kubernetes 솔루션을 제공합니다. 다양한 도구가 통합되어 있는 이 솔루션은 AWS Outposts, 가상 머신 또는 베어 메탈 서버로 간편하게 배포할 수 있습니다.

Amazon EKS에 대한 자세한 내용을 보려면 이 URL을 선택하세요.

AWS Identity and Access Management(IAM)

AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다. IAM 사용 시에는 AWS 사용자와 그룹을 생성 및 관리할 수 있으며 권한을 사용하여 AWS 리소스 액세스를 허용 및 거부할 수 있습니다.

AWS IAM에 대한 자세한 내용을 보려면 이 URL을 선택하세요.

Cloud Development Kit for Kubernetes(CDK8s)

cdk8s는 개발자가 잘 알고 있는 프로그래밍 언어와 다양한 객체 기반 API를 사용하여 Kubernetes 애플리케이션 및 재사용 가능 추상화를 정의할 수 있는 오픈 소스 소프트웨어 개발 프레임워크입니다. cdk8s 앱을 표준 Kubernetes 매니페스트로 합성하면 어떤 Kubernetes 클러스터에나 적용할 수 있습니다.

Cloud Development Kit for Kubernetes에 대한 자세한 내용을 보려면 이 URL을 선택하세요.

목표

본 실습을 마치면 다음을 할 수 있습니다.

  • AWS CDK를 사용하여 Amazon EKS 클러스터 생성 및 배포
  • cdk8s를 사용하여 서비스 및 배포 생성 및 배포

수강 전 권장 사항

이 실습에는 다음 사항이 필요합니다.

  • Microsoft Windows, Mac OS X 또는 Linux(Ubuntu, SuSE 또는 Red Hat)가 설치된 컴퓨터 액세스 권한
  • Chrome 또는 Firefox 같은 최신 인터넷 브라우저

필수 기술 지식

이 실습을 성공적으로 마치려면 AWS 관리 콘솔의 기본적인 사용 방법과 텍스트 편집기를 사용하여 스크립트를 편집하는 데 익숙해야 합니다. 그리고 Kubernetes에 대해 기본적으로 파악하고 있는 것이 좋습니다.

아이콘 설명

이 실습에서는 가이드의 특정 부분을 자세히 확인할 수 있도록 다양한 아이콘이 사용됩니다. 각 아이콘의 목적은 다음과 같습니다.

  • 명령: 실행해야 하는 명령을 지정합니다.
  • 예상 출력: 명령 또는 편집된 파일의 출력을 확인합니다.
  • 참고: 중요한 힌트, 팁, 지침 또는 조언을 나타냅니다.
  • 추가 정보: 자세한 정보를 찾을 수 있는 위치를 나타냅니다.
  • 주의: 특별히 참고해야 할 정보에 대한 주의를 환기합니다. 참고 사항을 읽지 않는다고 해서 장비나 데이터가 물리적 피해를 입지는 않지만 특정 단계를 반복해야 할 수도 있습니다.
  • 고려 사항: 자신의 환경에 개념을 어떻게 적용할 수 있는지 생각하거나 당면한 주제에 대한 대화를 시작하기 위해 잠깐 멈출 것을 제안합니다.
  • 복사/붙여넣기: 경우에 따라 스크립트를 실행하거나 미리 만들어진 파일을 적용할 수 있습니다. 이 아이콘은 상호 작용할 스크립트 또는 파일의 내용을 표시하는 데 사용되는 코드 블록을 나타냅니다.
    • 코드 블록의 특정 부분만 복사해야 하는 경우 코드에 번호가 매겨진 TODO 주석이 있습니다.
  • 컨텍스트: 항목의 컨텍스트 메뉴를 열라는 지침이 나오는 경우, 이는 마우스 오른쪽 버튼을 클릭(또는 기타 디바이스의 해당 동작)했을 때 표시되는 메뉴를 말합니다.

Reviews

Start your review of Deploying an Amazon EKS application using CDK8s (Korean)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.