게시된 날짜: May 7, 2021

오늘 우리는 공유 EKS 클러스터에서 Spark 작업을 간단하게 실행할 수 있도록 포드 템플릿에 대한 Amazon EMR on Amazon EKS 지원을 시작합니다. 포드는 공유 스토리지 및 네트워크 리소스와 컨테이너 실행 방법에 대한 사양이 있는 하나 이상의 컨테이너 그룹입니다. 포드 템플릿은 각 포드가 실행되는 방식을 결정하는 사양입니다. 고객은 종종 활용도를 높이고 비용을 절감하기 위해 공유 EKS 클러스터에 여러 애플리케이션을 통합합니다. 그러나 애플리케이션마다 요구 사항이 다를 수 있습니다. 예를 들어 성능 향상을 위해 SSD 지원 인스턴스에서 ML 모델 학습 작업을 실행하거나 비용을 낮추기 위해 스팟 인스턴스에서 임시 워크로드와 같은 성능 집약적인 워크로드를 실행할 수 있습니다. 또한 별도의 로깅 컨테이너를 예약하여 기존 모니터링 애플리케이션에 로그를 전달할 수도 있습니다. 이 릴리스에서는 EKS에서 EMR과 함께 포드 템플릿을 사용하여 공유 EKS 클러스터에서 Spark 작업을 실행하는 방법을 구성할 수 있습니다.

비용을 줄이기 위해 고객은 Spark 드라이버 포드가 EC2 온디맨드 인스턴스에서 실행되도록 예약하고 Spark 실행기 포드가 EC2 스팟 인스턴스에서 실행되도록 예약할 수 있습니다. Kubernetes 고객은 자주 taint, 허용 오차 및 레이블을 사용하여 포드가 올바른 작업자 노드에 예약되도록 합니다. taint는 작업자 노드에서 실행할 수 있는 포드를 제한할 수 있는 작업자 노드의 속성입니다. 반대로, 허용 오차는 일치하는 taint에 대해 포드를 예약할 수 있도록 합니다. 레이블은 nodeSelectors와 함께 사용되어 포드를 작업자에게 보냅니다. 이제 포드 템플릿을 사용하여 Spark 드라이버 포드에 허용 오차를 적용할 수 있으므로 EC2 온디맨드 인스턴스에서 실행되고 Spark 실행기 포드에 대해 별도의 허용 오차가 있으므로 EC2 스팟 인스턴스에서만 실행됩니다.

중앙 집중식 로깅 애플리케이션으로 로그를 전달하기 위해 고객은 Spark 작업과 함께 사이드카 컨테이너를 배포할 수 있습니다. 사이드카 컨테이너는 애플리케이션 컨테이너와 동일한 포드에 배포되지만 추가 기능을 제공합니다. 이 경우 작업 로그를 전달합니다. EKS의 EMR은 Amazon CloudWatch 및 Amazon S3에 내장된 로그 전달을 제공합니다. 그러나 고객이 자신의 로그 보고 애플리케이션에 로그를 전달하려는 경우 로그 전달자를 daemonSet으로 배포합니다. DaemonSet는 kubernetes 작업자 노드에서 직접 실행됩니다. 이제 포드 템플릿을 사용하여 작업 별 또는 포드별로 로그 전달을 사이드카 컨테이너로 배포할 수 있습니다.

리소스 활용도를 높이기 위해 고객은 동일한 EKS 클러스터에서 워크로드를 실행하는 여러 팀을 지원할 수 있습니다. 종종 각 팀은 워크로드를 실행할 지정된 EC2 노드 그룹을 받습니다. 이전에는 레이블과 선호도를 사용하여 워크로드를 올바른 노드 그룹으로만 보낼 수 있었습니다. 고객은 팀의 노드 그룹에 taint를 적용하고 이제 Pod 템플릿을 사용하여 해당하는 허용 오차를 워크로드에 적용할 수 있습니다. 이렇게 하면 지정된 팀만 노드 그룹에 작업을 예약할 수 있습니다.

팀 기반 노드 그룹을 구현하려면 먼저 팀을 나타내는 레이블 및 taint를 포함하는 노드 그룹을 만듭니다. taint는 작업자 노드에서 실행할 수 있는 포드를 제한할 수 있는 작업자 노드의 속성입니다. 반대로, 허용 오차는 일치하는 taint에 대해 포드를 예약할 수 있도록 합니다. 선호도를 사용하는 레이블은 애플리케이션을 팀의 지정된 노드 그룹으로 전달하고 허용 오차는 이를 통해 taint를 예약할 수 있습니다. 해당 허용 오차와 선호도를 포함하는 포드 템플릿을 생성하고 작업이 액세스 할 수 있는 S3 버킷에 저장합니다. Spark 드라이버 및 실행기 포드에 대해 포드 템플릿을 생성하여 다양한 배포 옵션을 제공하고 작업 제출 중에 템플릿의 위치를 ​​지정할 수 있습니다.

포드 템플릿 기능 및 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오. EKS의 Amazon EMR에 대한 자세한 내용은 EKS 설명서의 Amazon EMR을 방문하거나 EKS의 Amazon EMR에 대한 심층 기술 회담을 참조하십시오.