이 게시물에서 우리는 보여줍니다 AWS의 Kubeflow (Kubeflow의 AWS 전용 배포) 및 고도로 최적화된 클라우드 네이티브 엔터프라이즈 지원 AWS 서비스의 통합을 통해 오픈 소스 Kubeflow에 추가하는 가치.
Kubeflow는 Kubernetes에 ML 워크플로를 간단하고 이식 가능하며 확장 가능하게 배포하는 데 전념하는 오픈 소스 머신 러닝(ML) 플랫폼입니다. Kubeflow는 중앙 대시보드, 다중 사용자 Jupyter 노트북, Kubeflow Pipelines, KFServing 및 Katib을 포함한 많은 구성 요소와 TensorFlow, PyTorch, MXNet 및 XGBoost용 분산 교육 운영자를 제공하여 간단하고 확장 가능하며 이식 가능한 ML 워크플로를 구축합니다. .
AWS는 최근 Kubeflow v1.4를 자체 Kubeflow 배포(AWS의 Kubeflow라고 함)의 일부로 출시했습니다. 이 배포는 데이터 과학 작업을 간소화하고 AWS 관리형 서비스와의 통합을 통해 운영 오버헤드를 줄이면서 안정성, 보안성, 이식성 및 확장성이 높은 ML 시스템을 구축하는 데 도움이 됩니다. . 이 Kubeflow 배포를 사용하여 ML 시스템을 구축할 수 있습니다. Amazon Elastic Kubernetes 서비스 (Amazon EKS)는 컴퓨터 비전, 자연어 처리, 음성 번역 및 금융 모델링을 비롯한 다양한 사용 사례를 위한 ML 모델을 구축, 교육, 조정 및 배포합니다.
오픈 소스 Kubeflow의 과제
오픈 소스 Kubeflow 프로젝트를 사용하면 Kubernetes 작업자 노드에 모든 Kubeflow 제어 평면 및 데이터 평면 구성 요소를 배포합니다. Kubeflow 구성 요소 서비스는 Kubeflow 컨트롤 플레인의 일부로 배포되며 Jupyter, 모델 교육, 튜닝 및 호스팅과 관련된 모든 리소스 배포는 Kubeflow 데이터 플레인에 배포됩니다. Kubeflow 제어 평면과 데이터 평면은 동일하거나 다른 Kubernetes 작업자 노드에서 실행할 수 있습니다. 이 게시물은 다음 다이어그램과 같이 Kubeflow 제어 평면 구성 요소에 중점을 둡니다.
이 배포 모델은 다음과 같은 이유로 엔터프라이즈급 환경을 제공하지 않을 수 있습니다.
- 데이터베이스, 스토리지 및 인증을 포함한 모든 Kubeflow 제어 평면 무거운 리프팅 인프라 구성 요소는 Kubernetes 클러스터 작업자 노드 자체에 배포됩니다. 이로 인해 작업자 노드 오류 발생 시 영구 상태로 고가용성 Kubeflow 제어 평면 설계 아키텍처를 구현하기가 어렵습니다.
- Kubeflow 컨트롤 플레인 생성 아티팩트(예: MySQL 인스턴스, 포드 로그 또는 MinIO 스토리지)는 시간이 지남에 따라 증가하고 증가하는 스토리지 수요를 충족하기 위해 지속적인 모니터링 기능과 함께 크기 조정 가능한 스토리지 볼륨이 필요합니다. Kubeflow 제어 플레인은 Kubeflow 데이터 플레인 워크로드(예: 교육 작업, 파이프라인 및 배포용)와 리소스를 공유하므로 Kubernetes 클러스터 및 스토리지 볼륨의 크기를 적절하게 조정하고 확장하는 것이 어려워지고 운영 비용이 증가할 수 있습니다.
- Kubernetes는 로그 파일 크기를 제한하며 대부분의 설치에서 가장 최근의 제한인 10MB를 유지합니다. 기본적으로 포드 로그는 이 상한에 도달하면 액세스할 수 없게 됩니다. 포드가 다른 노드에서 축출, 충돌, 삭제 또는 예약된 경우에도 로그에 액세스할 수 없게 되어 애플리케이션 로그 가용성 및 모니터링 기능에 영향을 미칠 수 있습니다.
AWS의 Kubeflow
Kubeflow on AWS는 다음 AWS 서비스와 함께 Kubeflow를 사용할 수 있는 명확한 경로를 제공합니다.
- 애플리케이션로드 밸런서 HTTPS를 통한 안전한 외부 트래픽 관리
- 아마존 클라우드 워치 지속적인 로그 관리를 위해
- AWS 코그니토 TLS(전송 계층 보안)를 통한 사용자 인증용
- AWS 딥 러닝 컨테이너 고도로 최적화된 Jupyter 노트북 서버 이미지용
- 아마존 탄성 파일 시스템 (아마존 EFS) 또는 Luster 용 Amazon FSx 교육 성과 향상을 위한 간단하고 확장 가능한 서버리스 파일 스토리지 솔루션
- 관리형 Kubernetes 클러스터용 Amazon EKS
- Amazon 관계형 데이터베이스 서비스 (Amazon RDS) 확장성이 뛰어난 파이프라인 및 메타데이터 저장소
- AWS 비밀 관리자 애플리케이션에 액세스하는 데 필요한 비밀을 보호하기 위해
- 아마존 단순 스토리지 서비스 (Amazon S3) 사용하기 쉬운 파이프라인 아티팩트 저장소
Kubeflow와의 이러한 AWS 서비스 통합(다음 다이어그램 참조)을 통해 Kubeflow 제어 평면의 중요한 부분을 Kubernetes에서 분리하여 안전하고 확장 가능하며 탄력적이며 비용 최적화된 설계를 제공할 수 있습니다.
각 서비스 통합의 이점과 보안, ML 파이프라인 실행 및 스토리지에 대한 솔루션에 대해 논의해 보겠습니다.
Amazon Cognito를 사용한 Kubeflow 사용자의 보안 인증
AWS의 클라우드 보안은 최우선 순위이며 다음과 같은 AWS 공동 책임 보안 서비스에 Kubeflow 보안을 직접 긴밀하게 통합하는 데 투자하고 있습니다.
- 외부 트래픽 관리를 위한 ALB(Application Load Balancer)
- AWS 인증서 관리자 (ACM) TLS 지원
- 서비스 계정에 대한 IAM 역할 Kubernetes Pod 수준에서 세분화된 액세스 제어를 위한 (IRSA)
- AWS 키 관리 서비스 (AWS KMS) 데이터 암호화 키 관리
- AWS 쉴드 DDoS 방어를 위해
이 섹션에서는 Amazon Cognito와 AWS Kubeflow 컨트롤 플레인 통합에 중점을 둡니다. Amazon Cognito는 사용자 인증을 위해 기본 Dex(로컬 LDAP가 지원하는 오픈 소스 OpenID Connect(OIDC) 공급자) 솔루션을 관리 및 유지 관리할 필요를 없애고 비밀 관리를 더 쉽게 만듭니다.
또한 Amazon Cognito를 사용하여 사용자 가입, 로그인 및 액세스 제어를 Kubeflow UI에 빠르고 쉽게 추가할 수 있습니다. Amazon Cognito는 수백만 명의 사용자로 확장되며 Facebook, Google, Amazon과 같은 소셜 자격 증명 공급자(IdP)와 SAML 2.0을 통한 기업 IdP와의 로그인을 지원합니다. 이는 Kubeflow 설정의 복잡성을 줄여 다중 사용자 격리를 달성하기 위해 운영상 간결하고 작동하기 쉽게 만듭니다.
Amazon Cognito, ALB 및 Kubeflow on AWS와의 ACM 통합을 통한 다중 사용자 인증 흐름을 살펴보겠습니다. 이 통합의 일부로 여러 주요 구성 요소가 있습니다. Amazon Cognito는 사용자 인증 후 Kubeflow로 요청을 라우팅하도록 구성된 인증 콜백이 있는 IdP로 구성됩니다. Kubeflow 설정의 일부로 Istio 게이트웨이 서비스에 대한 외부 트래픽을 관리하기 위해 Kubernetes 수신 리소스가 생성됩니다. AWS ALB 수신 컨트롤러는 해당 수신에 대한 로드 밸런서를 프로비저닝합니다. 우리는 사용 아마존 경로 53 등록된 도메인에 대한 퍼블릭 DNS를 구성하고 ACM을 사용하여 인증서를 생성하여 로드 밸런서에서 TLS 인증을 활성화합니다.
다음 다이어그램은 Amazon Cognito에 로그인하고 해당 네임스페이스에서 Kubeflow로 리디렉션되는 일반적인 사용자 워크플로를 보여줍니다.
워크 플로에는 다음 단계가 포함됩니다.
- 사용자는 로드 밸런서 뒤에 호스팅되는 Kubeflow 중앙 대시보드에 HTTPS 요청을 보냅니다. Route 53은 FQDN을 ALB 별칭 레코드로 확인합니다.
- 쿠키가 없으면 로드 밸런서는 Amazon Cognito가 사용자를 인증할 수 있도록 사용자를 Amazon Cognito 권한 부여 엔드포인트로 리디렉션합니다.
- 사용자가 인증되면 Amazon Cognito는 권한 부여 코드와 함께 사용자를 로드 밸런서로 다시 보냅니다.
- 로드 밸런서는 Amazon Cognito 토큰 엔드포인트에 권한 부여 코드를 제공합니다.
- 유효한 권한 부여 코드를 수신하면 Amazon Cognito는 ID 토큰과 액세스 토큰을 로드 밸런서에 제공합니다.
- 로드 밸런서는 사용자를 성공적으로 인증한 후 액세스 토큰을 Amazon Cognito 사용자 정보 엔드포인트로 보내고 사용자 클레임을 수신합니다. 로드 밸런서는 HTTP 헤더에 사용자 클레임을 서명하고 추가합니다.
x-amzn-oidc-*
JSON 웹 토큰(JWT) 요청 형식입니다. - 로드 밸런서의 요청이 Istio Ingress Gateway의 포드로 전송됩니다.
- Envoy 필터를 사용하여 Istio Gateway는
x-amzn-oidc-data
값, 이메일 필드를 검색하고 사용자 정의 HTTP 헤더를 추가합니다.kubeflow-userid
, Kubeflow 권한 부여 계층에서 사용합니다. - Istio 리소스 기반 액세스 제어 정책은 Kubeflow 대시보드에 대한 액세스를 검증하기 위해 수신 요청에 적용됩니다. 사용자가 둘 중 하나에 액세스할 수 없으면 오류 응답이 다시 전송됩니다. 요청이 검증되면 적절한 Kubeflow 서비스로 전달되고 Kubeflow 대시보드에 대한 액세스를 제공합니다.
Amazon RDS 및 Amazon S3로 Kubeflow 구성 요소 메타데이터 및 아티팩트 스토리지 유지
AWS의 Kubeflow는 다음과 통합을 제공합니다. Amazon 관계형 데이터베이스 서비스 (Amazon RDS) Kubeflow Pipelines 및 AutoML(카 티브) 영구 메타데이터 스토리지의 경우 Amazon S3, 영구 아티팩트 스토리지의 경우 Kubeflow Pipelines의 Amazon SXNUMX. 계속해서 Kubeflow Pipelines에 대해 더 자세히 논의해 보겠습니다.
Kubeflow Pipelines는 이식 가능하고 확장 가능한 ML 워크플로를 구축 및 배포하기 위한 플랫폼입니다. 이러한 워크플로는 기본 제공 및 사용자 지정 Kubeflow 구성 요소를 사용하여 복잡한 ML 파이프라인을 자동화하는 데 도움이 될 수 있습니다. Kubeflow Pipelines에는 Python SDK, Python 코드를 정적 구성으로 변환하는 DSL 컴파일러, 정적 구성에서 파이프라인을 실행하는 파이프라인 서비스, 파이프라인을 완료하는 데 필요한 Kubernetes Pod 내 컨테이너를 실행하는 컨트롤러 세트가 포함됩니다.
파이프라인 실험 및 실행을 위한 Kubeflow Pipelines 메타데이터는 MySQL에 저장되고 파이프라인 패키지 및 메트릭을 포함한 아티팩트는 MinIO에 저장됩니다.
다음 다이어그램에 표시된 것처럼 AWS의 Kubeflow를 사용하면 AWS 관리형 서비스와 함께 다음 구성 요소를 저장할 수 있습니다.
- Amazon RDS의 파이프라인 메타데이터 – Amazon RDS는 MySQL과 같은 업계 표준 관계형 데이터베이스에 대해 자동 장애 조치 메커니즘과 크기 조정이 가능한 용량이 내장된 확장 가능하고 가용성이 높으며 안정적인 다중 AZ 배포 아키텍처를 제공합니다. 인프라를 프로비저닝하거나 소프트웨어를 유지 관리할 필요 없이 일반적인 데이터베이스 관리 작업을 관리합니다.
- Amazon S3의 파이프라인 아티팩트 – Amazon S3는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하며 고객의 요구 사항을 충족하는 데 사용할 수 있습니다. 규정 준수 요구 사항.
이러한 통합은 메타데이터 및 아티팩트 스토리지의 관리 및 유지 관리 부담을 자체 관리형 Kubeflow에서 설정, 운영 및 확장이 더 쉬운 AWS 관리형 서비스로 오프로드하는 데 도움이 됩니다.
Amazon EFS 및 Amazon FSx를 통한 분산 파일 시스템 지원
Kubeflow는 수백만 또는 수십억 개의 매개변수가 포함된 심층 네트워크를 통해 대규모 모델을 교육 및 조정하는 등 대규모 분산 데이터 처리를 위한 인프라를 제공하는 Kubernetes를 기반으로 합니다. 이러한 분산 데이터 처리 ML 시스템을 지원하기 위해 AWS의 Kubeflow는 다음 스토리지 서비스와의 통합을 제공합니다.
- 아마존 EFS – 다음을 통해 관리할 수 있는 고성능 클라우드 네이티브 분산 파일 시스템 Amazon EFS CSI 드라이버. Amazon EFS 제공
ReadWriteMany
액세스 모드를 사용하여 이제 Kubeflow 데이터 플레인에서 실행되는 포드(Jupyter, 모델 교육, 모델 조정)에 탑재하여 파일을 추가 및 제거할 때 자동으로 확장 및 축소되는 지속적이고 확장 가능하며 공유 가능한 작업 공간을 제공할 수 있습니다. 관리가 필요 없습니다. - Luster 용 Amazon FSx – 고성능 컴퓨팅 및 ML과 같은 컴퓨팅 집약적 워크로드에 최적화된 파일 시스템을 통해 관리할 수 있습니다. Amazon FSx CSI 드라이버. Lustre용 FSx 제공
ReadWriteMany
액세스 모드도 사용할 수 있으며, 이를 사용하여 Amazon S3에 백업 저장소로 직접 연결하여 교육 데이터를 캐시할 수 있습니다. 이 구성을 사용하면 볼륨을 사용하기 전에 파일 시스템으로 데이터를 전송할 필요가 없습니다. FSx for Lustre는 일관된 밀리초 미만의 대기 시간과 높은 동시성을 제공하며 TB/s의 처리량과 수백만 IOPS로 확장할 수 있습니다.
Kubeflow 배포 옵션
AWS는 다양한 Kubeflow 배포 옵션을 제공합니다.
- Amazon Cognito를 사용한 배포
- Amazon RDS 및 Amazon S3를 사용한 배포
- Amazon Cognito, Amazon RDS 및 Amazon S3를 사용한 배포
- 바닐라 전개
서비스 통합 및 이러한 각 옵션에 사용 가능한 추가 기능에 대한 자세한 내용은 다음을 참조하십시오. 배포 옵션. 사용 사례에 가장 적합한 옵션을 맞출 수 있습니다.
다음 섹션에서는 Amazon EKS에 AWS Kubeflow v1.4 배포를 설치하는 단계를 안내합니다. 그런 다음 Kubeflow 중앙 UI 대시보드에서 사용할 수 있는 기존 XGBoost 파이프라인 예제를 사용하여 AWS Kubeflow를 Amazon Cognito, Amazon RDS 및 Amazon S3와 통합하고 Secrets Manager를 애드온으로 사용하는 방법을 보여줍니다.
사전 조건
이 연습에서는 다음과 같은 전제 조건이 있어야합니다.
- An AWS 계정.
- 기존 Amazon EKS 클러스터. Kubernetes 버전 1.19 이상이어야 합니다. 다음을 사용하여 자동화된 클러스터 생성을 위해 엑스크틀참조 Amazon EKS 클러스터 생성 eksctl 옵션을 사용합니다.
Kubernetes 클러스터에 액세스하는 데 사용되는 클라이언트 시스템에 다음 도구를 설치하십시오. 당신이 사용할 수있는 AWS 클라우드9, Kubernetes 클러스터 설정을 위한 클라우드 기반 통합 개발 환경(IDE).
- AWS 명령 줄 인터페이스 (AWS CLI) – AWS 서비스와 상호 작용하기 위한 명령줄 도구입니다. 설치 지침은 다음을 참조하십시오. AWS CLI 설치, 업데이트 및 제거.
- 엑스크틀 > 0.56 – 많은 개별 작업을 자동화하는 Amazon EKS 클러스터 작업을 위한 명령줄 도구입니다.
- 쿠 베틀 – Kubernetes 클러스터 작업을 위한 명령줄 도구입니다.
- 자식 – 분산 버전 제어 소프트웨어.
- Python 3.8 이상 – Python 프로그래밍 환경.
- 삐악 삐악 울다 – Python용 패키지 관리자.
- 버전 3.2.0 사용자 지정 – 사용자 지정 파일을 통해 Kubernetes 개체를 사용자 지정하는 명령줄 도구입니다.
AWS에 Kubeflow 설치
Amazon EKS 클러스터에 연결할 수 있도록 kubectl을 구성합니다.
Kubeflow 배포 사용의 다양한 컨트롤러 서비스 계정에 대한 IAM 역할 (IRSA). 클러스터가 IRSA를 사용하려면 OIDC 공급자가 있어야 합니다. 클러스터에 아직 OIDC 공급자가 없는 경우 다음 명령을 실행하여 OIDC 공급자를 생성하고 Amazon EKS 클러스터에 연결합니다.
AWS 매니페스트 리포지토리 및 Kubeflow 매니페스트 리포지토리를 복제하고 각 릴리스 분기를 체크아웃합니다.
이러한 버전에 대한 자세한 내용은 다음을 참조하십시오. 릴리스 및 버전 관리.
Amazon RDS, Amazon S3 및 Secrets Manager 설정
Kubeflow 매니페스트를 배포하기 전에 Amazon RDS 및 Amazon S3 리소스를 생성합니다. Secrets Manager에서 S3 버킷, RDS 데이터베이스 및 필수 암호 생성을 처리하는 자동화된 Python 스크립트를 사용합니다. 또한 Kubeflow 설치 중에 RDS 데이터베이스 및 S3 버킷에 대해 올바르게 구성되도록 Kubeflow 파이프라인 및 AutoML에 필요한 구성 파일을 편집합니다.
IAM 사용자 생성 허용하는 권한이 있는 GetBucketLocation
Kubeflow 아티팩트를 저장하려는 S3 버킷의 객체에 대한 읽기 및 쓰기 액세스 권한. 사용 AWS_ACCESS_KEY_ID
와 AWS_SECRET_ACCESS_KEY
다음 코드에서 IAM 사용자의
Amazon Cognito를 인증 공급자로 설정
이 섹션에서는 외부 트래픽을 Kubeflow Istio Gateway로 라우팅하기 위해 Route 53 및 ALB에 사용자 지정 도메인을 생성합니다. ACM을 사용하여 ALB에서 TLS 인증을 활성화하는 인증서를 생성하고 Amazon Cognito를 사용하여 사용자 풀을 유지 관리하고 사용자 인증을 관리합니다.
다음 값을 대체하십시오.
- route53.root도메인.이름 – 등록된 도메인. 이 도메인이
example.com
. - Route53.rootDomain.hostedZoneId – 도메인이 Route53에서 관리되는 경우 호스팅 영역 세부 정보에서 찾은 호스팅 영역 ID를 입력합니다. 다른 도메인 공급자가 도메인을 관리하는 경우 이 단계를 건너뜁니다.
- Route53.subDomain.name – Kubeflow를 호스팅하려는 하위 도메인의 이름(예:
platform.example.com
). 하위 도메인에 대한 자세한 내용은 다음을 참조하십시오. AWS Cognito를 IdP로 사용하여 Kubeflow 배포. - 클러스터 이름 – 클러스터 이름 및 Kubeflow가 배포된 위치.
- 클러스터.지역 – Kubeflow가 배포된 클러스터 지역(예:
us-west-2
). - cognitoUserpool.name – Amazon Cognito 사용자 풀의 이름(예:
kubeflow-users
).
구성 파일은 다음 코드와 유사합니다.
스크립트를 실행하여 리소스를 생성합니다.
스크립트는 다음을 업데이트합니다. config.yaml
생성한 리소스 이름, ID 및 ARN이 있는 파일입니다. 다음 코드와 유사합니다.
매니페스트 빌드 및 Kubeflow 배포
다음 명령을 사용하여 Kubeflow를 배포합니다.
ALB 주소로 도메인 업데이트
배포는 수신 관리형 AWS 애플리케이션 로드 밸런서를 생성합니다. 로드 밸런서의 DNS로 Route 53의 하위 도메인에 대한 DNS 항목을 업데이트합니다. 다음 명령을 실행하여 로드 밸런서가 프로비저닝되었는지 확인합니다(약 3~5분 소요).
경우 ADDRESS
몇 분 후에 필드가 비어 있으면 다음 로그를 확인하십시오. alb-ingress-controller
. 지침은 다음을 참조하십시오. ALB 프로비저닝 실패.
로드 밸런서가 프로비저닝되면 로드 밸런서의 DNS 이름을 복사하고 kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. 구성 파일의 Kubeflow 섹션은 다음 코드와 같습니다.
다음 스크립트를 실행하여 Route 53의 하위 도메인에 대한 DNS 항목을 프로비저닝된 로드 밸런서의 DNS로 업데이트합니다.
문제해결
설치 중 문제가 발생하면 다음을 참조하십시오. 문제 해결 가이드 또는 이 블로그의 "정리" 섹션을 따라 새로 시작하십시오.
사용 사례 둘러보기
이제 필수 Kubeflow 구성 요소 설치를 완료했으므로 대시보드에서 Kubeflow Pipelines에서 제공하는 기존 예제 중 하나를 사용하여 작동하는 모습을 살펴보겠습니다.
Amazon Cognito를 사용하여 Kubeflow 대시보드에 액세스
시작하려면 Kubeflow 대시보드에 액세스하겠습니다. Amazon Cognito를 IdP로 사용했기 때문에 공식 README 파일. 먼저 Amazon Cognito 콘솔에서 일부 사용자를 생성합니다. 이들은 중앙 대시보드에 로그인할 사용자입니다. 다음, 프로필 만들기 생성한 사용자의 경우. 그런 다음 로그인 페이지를 통해 대시보드에 액세스할 수 있어야 합니다. https://kubeflow.platform.example.com.
다음 스크린샷은 Kubeflow 대시보드를 보여줍니다.
파이프라인 실행
Kubeflow 대시보드에서 다음을 선택합니다. 파이프 라인 탐색 이름에서. 다양한 Pipelines 기능을 탐색하기 위해 직접 실행할 수 있는 Kubeflow Pipelines에서 제공하는 네 가지 예가 표시되어야 합니다.
이 게시물에서는 [Demo] XGBoost – Iterative 모델 교육이라는 XGBoost 샘플을 사용합니다. 에서 소스 코드를 찾을 수 있습니다. GitHub의. 기존 파이프라인을 사용하는 간단한 파이프라인입니다. XGBoost/Train
와 XGBoost/Predict
Kubeflow 파이프라인 구성 요소는 지정된 메트릭을 기반으로 메트릭이 양호한 것으로 간주될 때까지 모델을 반복적으로 훈련합니다.
파이프라인을 실행하려면 다음 단계를 완료하십시오.
- 파이프라인을 선택하고 실험 만들기.
- $XNUMX Million 미만 실험 세부정보, 이름을 입력하십시오 (이 게시물의 경우
demo-blog
) 및 선택적 설명. - 왼쪽 메뉴에서 다음 보기.
- $XNUMX Million 미만 실행 세부 정보¸ 파이프라인과 파이프라인 버전을 선택하십시오.
- 럭셔리 실행 이름이름을 입력하십시오.
- 럭셔리 실험, 생성한 실험을 선택합니다.
- 럭셔리 런 타입, 고르다 일회성.
- 왼쪽 메뉴에서 스타트.
파이프라인 실행이 시작된 후 구성 요소가 완료되는 것을 확인해야 합니다(몇 초 이내에). 이 단계에서 완성된 구성 요소 중 하나를 선택하여 자세한 내용을 볼 수 있습니다.
Amazon S3의 아티팩트에 액세스
Kubeflow를 배포하는 동안 Kubeflow Pipelines가 Amazon S3를 사용하여 아티팩트를 저장해야 한다고 지정했습니다. 여기에는 모든 파이프라인 출력 아티팩트, 캐시된 실행 및 파이프라인 그래프가 포함되며, 이 모두는 풍부한 시각화 및 성능 평가에 사용할 수 있습니다.
파이프라인 실행이 완료되면 설치 중에 생성한 S3 버킷에서 아티팩트를 볼 수 있어야 합니다. 이를 확인하려면 파이프라인의 완료된 구성 요소를 선택하고 입력 / 출력 기본 섹션 그래프 탭. 아티팩트 URL은 배포 중에 지정한 S3 버킷을 가리켜야 합니다.
리소스가 Amazon S3에 추가되었는지 확인하기 위해 Amazon S3 콘솔을 통해 AWS 계정의 S3 버킷을 확인할 수도 있습니다.
다음 스크린샷은 파일을 보여줍니다.
Amazon RDS에서 ML 메타데이터 확인
또한 배포 중에 Kubeflow Pipelines를 Amazon RDS와 통합했습니다. 즉, 모든 파이프라인 메타데이터가 Amazon RDS에 저장되어야 합니다. 여기에는 작업 상태, 아티팩트의 가용성, 실행 또는 아티팩트와 연결된 사용자 지정 속성 등과 같은 런타임 정보가 포함됩니다.
Amazon RDS 통합을 확인하려면 설명서에 제공된 단계를 따르십시오. 공식 README 파일. 특히 다음 단계를 완료하십시오.
- 설치 중에 생성된 암호에서 Amazon RDS 사용자 이름과 암호를 가져옵니다.
- 다음 자격 증명을 사용하여 클러스터 내에서 Amazon RDS에 연결합니다.
- MySQL 프롬프트가 열리면 확인할 수 있습니다.
mlpipelines
다음과 같이 데이터베이스: - 이제 파이프라인을 실행한 실험에 대한 메타데이터 정보를 볼 수 있도록 특정 테이블의 내용을 읽을 수 있습니다.
정리
Kubeflow를 제거하고 생성한 AWS 리소스를 삭제하려면 다음 단계를 완료하십시오.
- 다음 명령을 실행하여 수신 및 수신 관리 로드 밸런서를 삭제하십시오.
- 나머지 Kubeflow 구성 요소를 삭제합니다.
- 스크립트로 생성된 AWS 리소스를 삭제합니다.
- Amazon RDS 및 Amazon S3 통합을 위해 생성된 리소스입니다. 스크립트에 의해 생성된 구성 파일이 있는지 확인하십시오.
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Amazon Cognito 통합을 위해 생성된 리소스입니다. 스크립트에 의해 생성된 구성 파일이 있는지 확인하십시오.
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Amazon RDS 및 Amazon S3 통합을 위해 생성된 리소스입니다. 스크립트에 의해 생성된 구성 파일이 있는지 확인하십시오.
- eksctl을 사용하여 Kubeflow용 전용 Amazon EKS 클러스터를 생성한 경우 다음 명령을 사용하여 삭제할 수 있습니다.
요약
이 게시물에서는 AWS의 Kubeflow가 안전하고 확장 가능하며 엔터프라이즈급 AI 및 ML 워크로드를 위한 기본 AWS 관리형 서비스 통합을 통해 제공하는 가치를 강조했습니다. 여러 배포 옵션 중에서 선택하여 다양한 서비스 통합을 통해 AWS에 Kubeflow를 설치할 수 있습니다. 이 게시물의 사용 사례는 Amazon Cognito, Secrets Manager, Amazon RDS 및 Amazon S3와의 Kubeflow 통합을 보여줍니다. Kubeflow on AWS를 시작하려면 사용 가능한 AWS 통합 배포 옵션을 참조하십시오. AWS의 Kubeflow.
v1.3부터 다음을 수행할 수 있습니다. AWS 랩 리포지토리 Kubeflow에 대한 모든 AWS 기여를 추적합니다. 당신은 또한 우리를 찾을 수 있습니다 Kubeflow #AWS Slack 채널; 귀하의 피드백은 Kubeflow 프로젝트에 기여할 다음 기능의 우선 순위를 정하는 데 도움이 됩니다.
저자에 관하여
칸월짓 쿠르미 Amazon Web Services의 AI/ML 전문가 솔루션 아키텍트입니다. 그는 AWS 제품, 엔지니어링 및 고객과 협력하여 AWS를 사용할 때 하이브리드 ML 솔루션의 가치를 향상시키는 데 도움이 되는 지침과 기술 지원을 제공합니다. Kanwaljit은 컨테이너화된 머신 러닝 애플리케이션으로 고객을 돕는 것을 전문으로 합니다.
메그나 바이잘 AWS AI를 사용하는 소프트웨어 엔지니어로 Deep Learning Containers, Deep Learning AMI, Kubernetes용 AWS 컨트롤러(ACK) 및 Kubeflow on AWS와 같은 ML 제품 및 플랫폼을 구축하여 사용자가 AWS에 기계 학습 워크로드를 더 쉽게 온보딩할 수 있습니다. . 일 외에 그녀는 독서, 여행, 그림 그리기를 즐깁니다.
수 라즈 코타 머신러닝 인프라 전문 소프트웨어 엔지니어입니다. 그는 AWS에서 기계 학습 워크로드를 쉽게 시작하고 확장할 수 있는 도구를 구축합니다. 그는 AWS Deep Learning Containers, Deep Learning AMI, Kubernetes용 SageMaker Operators 및 Kubeflow와 같은 기타 오픈 소스 통합에서 일했습니다.
- "
- 10
- 100
- 420
- 7
- 소개
- ACCESS
- 계정
- 동작
- 추가 기능
- 주소
- 관리자
- 관리
- 계열사
- AI
- All
- 이미
- 아마존
- Amazon Web Services
- 다른
- 어플리케이션
- 어플리케이션
- 적당한
- 아키텍처
- 약
- 준
- 인증 된
- 인증
- 인증
- 권한 부여
- 자동화
- 자동화
- 오토마타
- 유효성
- 가능
- AWS
- 가
- 혜택
- BEST
- 수십억
- 블로그
- 경계
- 빌드
- 건물
- 빌드
- 내장
- 기능
- 생산 능력
- 한
- 가지 경우
- CD
- 증명서
- 인증
- 도전
- Checkout
- 왼쪽 메뉴에서
- 주장
- 수업
- 암호
- 공통의
- 완료
- 복잡한
- 구성 요소
- 컴퓨터
- 컴퓨팅
- 구성
- 연결하기
- 입/출력 라인
- 콘솔에서
- 용기
- 이 포함되어 있습니다
- 함유량
- 계속
- 기여하다
- 제어
- 제어 장치
- 저작권
- 수
- 만들
- 만든
- 생성
- 만들기
- 창조
- 신임장
- 임계
- 관습
- 고객
- 계기반
- 데이터
- 데이터 처리
- 데이터 과학
- 데이터베이스
- DDoS 공격
- 전용
- 수요
- 보여
- 시연
- 배포
- 배포
- 배치
- 전개
- 배포
- 배치하다
- 디자인
- 세부 묘사
- 세부설명
- 개발
- 덱스
- 다른
- 곧장
- 직접
- 토론
- 분산
- 분포
- DNS
- 하지 않습니다
- 도메인
- 용이하게
- 사용하기 쉬운
- 에코
- 이메일
- 가능
- 암호화
- 종점
- 기사
- 엔지니어링
- 엔터 버튼
- Enterprise
- 환경
- 평가
- 이벤트
- 예
- 현존하는
- 경험
- 실험
- 탐험
- 페이스북
- 고장
- 특징
- 피드백
- 금융
- 먼저,
- 맞게
- 흐름
- 초점
- 집중
- 따라
- 수행원
- 체재
- 발견
- 신선한
- 점점
- 힘내
- GitHub의
- 좋은
- 구글
- 성장
- 성장하는
- 도움
- 도움이
- 도움이
- 여기에서 지금 확인해 보세요.
- 높은
- 더 높은
- 강조
- 고도로
- 호스팅
- HTTPS
- 잡종
- 통합 인증
- 영향
- 구현
- 개선
- 주식 회사
- 포함
- 포함
- 증가
- 개인
- 업계 최고의
- 정보
- 정보
- 인프라
- 설치
- 통합 된
- 완성
- 통합
- 투자
- 격리
- 문제
- IT
- 그 자체
- 작업
- 유지
- 키
- 실험실
- 언어
- 넓은
- 시작
- 배우기
- 리프팅
- 라인
- 하중
- 지방의
- 기계
- 기계 학습
- 유지하다
- 제작
- 유튜브 영상을 만드는 것은
- 관리
- 관리
- 구축
- 매니저
- 통계
- 수백만
- ML
- 모델
- 모델
- 모니터링
- 배우기
- 가장
- 이름
- 자연의
- 카테고리
- 그물
- 네트워크
- 노드
- 수첩
- 번호
- 제공
- 열 수
- 오픈 소스
- 열립니다
- 운영자
- 최적화
- 선택권
- 옵션
- 기타
- 자신의
- 비밀번호
- 성능
- 플랫폼
- 플랫폼
- 포인트 적립
- 정책
- 풀
- 제시
- 우선
- 처리
- 프로덕트
- 제품
- 프로그램 작성
- 프로젝트
- 보호
- 제공
- 제공
- 제공
- 공개
- 빨리
- 도달
- 읽기
- 이유
- 기록
- 등록된
- 공개
- 의뢰
- 필수
- 요구조건 니즈
- 의지
- 자료
- 응답
- REST
- 길
- 달리기
- 달리는
- 확장성
- 확장성
- 규모
- 스케일링
- 과학
- SDK
- SEC
- 초
- 안전해야합니다.
- 보안
- 서버리스
- 서비스
- 서비스
- 세트
- 설치
- 공유
- 안전표시
- 단순, 간단, 편리
- 크기
- 느슨하게
- 잠
- So
- 사회적
- 소프트웨어
- 소프트웨어 엔지니어
- 고체
- 해결책
- 솔루션
- 일부
- 무언가
- 소스 코드
- 전문가
- 전문
- 전문적으로
- 구체적으로
- 단계
- 스타트
- 시작
- 시작
- 주 정부
- Status
- 저장
- 저장
- 성공적으로
- SUPPORT
- 지원
- 체계
- 시스템은
- 작업
- 테크니컬
- 소스
- 을 통하여
- 시간
- 토큰
- 수단
- 검색을
- 상단
- 선로
- 교통
- 트레이닝
- 이전
- 번역
- 수송
- 여행
- ui
- 업데이트
- 업데이트
- us
- 사용
- 사용자
- 검증 된
- 가치
- 종류
- 여러
- 확인
- 시력
- 음량
- 웹
- 웹 서비스
- 누구
- 이내
- 없이
- 작업
- 일
- 일하는
- 일