

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Kubernetes용 SageMaker AI Operators
<a name="kubernetes-sagemaker-operators"></a>

Kubernetes용 SageMaker AI Operator를 사용하면 Kubernetes를 사용하는 개발자와 데이터 과학자가 SageMaker AI에서 기계 학습(ML) 모델을 훈련, 조정 및 배포하는 작업을 더 쉽게 수행할 수 있습니다. 이러한 SageMaker AI Operators를 Amazon Elastic Kubernetes Service(Amazon EKS)의 Kubernetes 클러스터에 설치하여 Kubernetes API 및 `kubectl` 등의 명령줄 Kubernetes 도구를 사용하여 기본적으로 SageMaker AI 작업을 생성할 수 있습니다. 이 안내서에서는 운영자를 설정하고 사용하여 Kubernetes 클러스터에서 SageMaker AI의 모델 훈련, 하이퍼파라미터 조정 또는 추론(실시간 및 배치)을 실행하는 방법을 보여줍니다. 이 장의 절차와 지침은 사용자가 Kubernetes와 그 기본 명령을 잘 알고 있다고 가정합니다.

**중요**  
[Kubernetes용 SageMaker Operators ](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master)오리지널 버전의 개발 및 기술 지원을 중단합니다.  
현재 `v1.2.2`버전 이하의 [Kubernetes용 SageMaker Operators](https://github.com/aws/amazon-sagemaker-operator-for-k8s/tree/master)를 사용하고 있다면 [Amazon SageMaker용 ACK 서비스 컨트롤러](https://github.com/aws-controllers-k8s/sagemaker-controller)로 리소스를 마이그레이션하는 것이 좋습니다. ACK 서비스 컨트롤러는 [Kubernetes용AWS 컨트롤러(ACK)](https://aws-controllers-k8s.github.io/community/)를 기반으로 하는 차세대 Kubernetes용 SageMaker Operators입니다.  
마이그레이션 단계에 대한 자세한 내용은 [리소스를 최신 연산자로 마이그레이션](kubernetes-sagemaker-operators-migrate.md)섹션을 참조하세요.  
Kubernetes용 SageMaker Operators 오리지널 버전의 지원 종료에 대한 자주 묻는 질문에 대한 답변은 [Kubernetes용 SageMaker AI Operators 오리지널 버전 지원 종료 발표](kubernetes-sagemaker-operators-eos-announcement.md)섹션을 참조하세요.

**참고**  
이러한 연산자를 사용하는 데 따르는 추가 요금은 없습니다. 이러한 운영자를 통해 사용하는 모든 SageMaker AI 리소스에 대해서는 요금이 부과됩니다.

## 연산자란 무엇인가요?
<a name="kubernetes-sagemaker-operators-overview"></a>

Kubernetes 연산자는 Kubernetes 사용자를 대신하여 애플리케이션을 관리하는 애플리케이션 컨트롤러입니다. 제어 영역의 컨트롤러는 자신이 제어하는 애플리케이션의 상태를 규제하기 위해 중앙 상태 관리자(ETCD)를 수신하는 다양한 제어 루프를 포함합니다. 이러한 애플리케이션의 예시로는 [클라우드 컨트롤러 관리자](https://kubernetes.io/docs/concepts/architecture/cloud-controller/) 및 `[kube-controller-manager](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/)`등이 있습니다. 연산자는 일반적으로 원시 Kubernetes API보다 높은 수준의 추상화를 제공하므로 사용자가 애플리케이션을 더 쉽게 배포하고 관리할 수 있습니다. Kubernetes에 새로운 기능을 추가하기 위해 개발자는 애플리케이션별 또는 도메인별 로직 및 구성 요소가 포함된 **사용자 지정 리소스**를 생성하여 Kubernetes API를 확장할 수 있습니다. Kubernetes의 연산자를 사용하면 사용자가 기본적으로 이러한 사용자 지정 리소스를 호출하고 관련 워크플로를 자동화할 수 있습니다.

### Kubernetes용 AWS 컨트롤러(ACK)는 어떻게 작동하나요?
<a name="kubernetes-sagemaker-operators-explained"></a>

Kubernetes용 SageMaker AI Operators를 사용하면 Kubernetes 클러스터에서 SageMaker AI의 작업을 관리할 수 있습니다. Kubernetes용 SageMaker AI Operators의 최신 버전은 Kubernetes용 AWS 컨트롤러(ACK)를 기반으로 합니다. ACK에는 공통 컨트롤러 런타임, 코드 생성기 및 AWS 서비스별 컨트롤러 세트가 포함되며,이 중 하나는 SageMaker AI 컨트롤러입니다.

다음 다이어그램에서 ACK 작동 방식에 대해 설명합니다.

![\[ACK 기반 Kubernetes용 SageMaker AI Operator에 대해 설명했습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/k8s-orchestration/sagemaker-operators-for-kubernetes-ack-controller.png)


이 다이어그램에서 Kubernetes 사용자는 Kubernetes API를 사용하여 Kubernetes 클러스터 내에서 SageMaker AI의 모델 훈련을 실행하고자 합니다. 사용자가 SageMaker 훈련 작업을 설명하는 Kubernetes 사용자 지정 리소스를 설명하는 파일을 전달하여 `kubectl apply`를 호출합니다. `kubectl apply`는 매니페스트라고 하는 이 파일을 Kubernetes 컨트롤러 노드에서 실행 중인 Kubernetes API 서버로 전달합니다(워크플로 다이어그램의 *1*단계). Kubernetes API 서버는 SageMaker 훈련 작업 사양이 포함된 매니페스트를 수신하고 사용자에게 `sageMaker.services.k8s.aws/TrainingJob`유형의 사용자 지정 리소스를 생성할 권한이 있는지 여부와 사용자 지정 리소스가 적절한 형식으로 지정되었는지 여부를 확인합니다(*2*단계). 사용자에게 권한이 부여되고 사용자 지정 리소스가 유효하면 Kubernetes API 서버는 사용자 지정 리소스를 etcd 데이터 스토어에 쓰고(*3단계*), 사용자 지정 리소스가 생성되었다고 사용자에게 다시 응답합니다(*4단계*). 일반 Kubernetes 포드의 컨텍스트 내 Kubernetes 워커 노드에서 실행되는 SageMaker AI 컨트롤러는 새로운 `sageMaker.services.k8s.aws/TrainingJob` 유형의 사용자 지정 리소스가 생성되었다는 알림을 받습니다(*5단계*). 그러면 SageMaker AI 컨트롤러가 SageMaker API와 통신하여(*6단계*), SageMaker AI `CreateTrainingJob` API를 직접적으로 호출하여 AWS에서 훈련 작업을 생성합니다. SageMaker API와 통신한 후, SageMaker AI 컨트롤러는 Kubernetes API 서버를 직접적으로 호출하여 SageMaker AI로부터 수신한 정보로 사용자 지정 리소스의 상태를 업데이트합니다(*7단계*). 따라서 SageMaker AI 컨트롤러는 개발자가 AWS SDK를 사용하여 받은 것과 동일한 정보를 개발자에게 제공합니다.

### 권한 개요
<a name="kubernetes-sagemaker-operators-authentication"></a>

운영자는 사용자를 대신하여 SageMaker AI 리소스에 액세스합니다. 운영자가 AWS 리소스와 상호 작용하기 위해 수임하는 IAM 역할은 Kubernetes 클러스터에 액세스하는 데 사용하는 자격 증명과 다릅니다. 역할은 기계 학습 작업을 실행할 때가 AWS 수임하는 역할과도 다릅니다.

다음 이미지는 다양한 인증 계층을 설명합니다.

![\[Kubernetes의 다양한 인증 계층용 SageMaker AI Operator입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/k8s-orchestration/sagemaker-operators-for-kubernetes-authentication.png)
