Kubeflow Pipelines 빌드 경험이 있는 개발자의 경우 다음과 같이 Vertex AI Pipelines와 Kubeflow Pipelines가 어떻게 다른지 이해해야 합니다.
데이터 전달(입력/출력)
Kubeflow Pipelines SDK v1과 Kubeflow Pipelines SDK v2에서 입력 및 출력을 통한 데이터 전달이 서로 다릅니다. Kubeflow Pipelines SDK v2에는 매개변수와 아티팩트가 분리되어 있으며, 서로 전달될 수 없습니다.
자세한 내용은 Kubeflow Pipelines 파이프라인 기본사항 및 Kubeflow Pipelines 데이터 유형을 참조하세요.
도메인 특정 언어(DSL) 버전 사용
Vertex AI Pipelines는 TFX v0.30.0 이상 또는 Kubeflow Pipelines SDK v2 도메인별 언어(DSL)를 사용하여 빌드된 파이프라인을 실행할 수 있습니다.
Kubeflow Pipelines SDK v2 DSL은 Kubeflow Pipelines SDK v1.6 이상에서 사용할 수 있습니다.
Kubeflow Pipelines는 Kubeflow Pipelines SDK를 사용하여 빌드된 파이프라인을 실행할 수 있습니다. 또한 Kubeflow Pipelines v1.6 이상은 Kubeflow Pipelines SDK v2 DSL을 사용하여 빌드된 파이프라인을 실행할 수 있습니다.
스토리지
Kubeflow Pipelines 및 Vertex AI Pipelines는 스토리지를 서로 다른 방식으로 처리합니다. Kubeflow Pipelines에서는 영구 볼륨 클레임과 같은 Kubernetes 리소스를 활용할 수 있습니다. Vertex AI Pipelines에서는 데이터가 Cloud Storage에 저장되며 Cloud Storage FUSE를 사용하여 구성요소에 마운트됩니다.
Vertex AI Pipelines에서는 Google Cloud 서비스를 사용하여 리소스를 제공할 수 있습니다. 예를 들어 Cloud Storage FUSE를 사용하여 파이프라인 단계에서 마운트된 볼륨으로 Cloud Storage 버킷에 액세스할 수 있습니다. Cloud Storage URI가 gs://example-bucket/example-pipeline이면 파이프라인 구성요소의 컨테이너가 Cloud Storage FUSE를 사용하여 /gcs/example-bucket/example-pipeline 경로로 해당 URI에 액세스할 수 있습니다.
Vertex AI Pipelines를 사용하여 파이프라인을 실행할 때는 @pipeline 주석에 또는 파이프라인 실행을 만들었을 때 파이프라인 루트가 저장되어 있어야 합니다.
Kubeflow Pipelines에서 파이프라인 루트 지정은 선택사항입니다. 파이프라인 실행의 아티팩트는 기본적으로 MinIO를 사용하여 저장됩니다.
Vertex AI Pipelines에서 지원되지 않는 기능
다음 Kubeflow Pipelines 기능은 현재 Vertex AI Pipelines에서 지원되지 않습니다.
캐시 만료: Kubeflow Pipelines에서는 Kubeflow Pipelines SDK v1 DSL을 사용하여 캐시된 구성요소 실행이 지정된 기간 후 만료되도록 지정할 수 있습니다.
현재는 Kubeflow Pipelines SDK v2 DSL을 사용하여 지정된 기간 후 구성요소 실행이 만료되도록 지정할 수 없습니다.
Vertex AI Pipelines에서 create_run_from_job_spec을 사용하여 파이프라인을 실행하는 경우 enable_caching 인수를 사용하여 이 파이프라인 실행에서 캐싱을 사용하지 않도록 지정할 수 있습니다.
재귀: Kubeflow Pipelines에서 재귀적으로 호출되는 파이프라인 구성요소를 지정할 수 있습니다.
현재까지 Vertex AI Pipelines는 재귀적으로 호출되는 파이프라인 구성요소를 지원하지 않습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-06-23(UTC)"],[],[],null,["# Migrate from Kubeflow Pipelines to Vertex AI Pipelines\n\nFor developers with experience building Kubeflow pipelines it is\nimportant to understand the following ways that Vertex AI Pipelines is\ndifferent from Kubeflow Pipelines.\n\n### Data passing (inputs/outputs)\n\n- Data passing using inputs and outputs differs from Kubeflow Pipelines SDK v1 to Kubeflow Pipelines SDK v2. Kubeflow Pipelines SDK v2 has the separation of parameters and artifacts, and they can't be passed into one another. For more detailed information, see [Kubeflow Pipelines Pipelines Basics](https://www.kubeflow.org/docs/components/pipelines/v2/pipelines/pipeline-basics/) and [Kubeflow Pipelines Data Types](https://www.kubeflow.org/docs/components/pipelines/v2/data-types/).\n\n### Domain-specific language (DSL) version usage\n\n- Vertex AI Pipelines can run pipelines that were built using\n TFX v0.30.0 or later, *or* the Kubeflow Pipelines SDK v2\n domain-specific language (DSL).\n\n The Kubeflow Pipelines SDK v2 DSL is available in Kubeflow Pipelines SDK v1.6 or\n later.\n\n Kubeflow Pipelines can run pipelines that were built using the\n Kubeflow Pipelines SDK. Kubeflow Pipelines v1.6 or later can also run pipelines\n built using the Kubeflow Pipelines SDK v2 DSL.\n\n### Storage\n\n- Kubeflow Pipelines and Vertex AI Pipelines handle\n storage differently. In Kubeflow Pipelines you can make use of Kubernetes\n resources such as persistent volume claims. In Vertex AI Pipelines\n your data is stored on Cloud Storage, and mounted into your components\n using [Cloud Storage FUSE](/storage/docs/gcs-fuse).\n\n In Vertex AI Pipelines, you can use Google Cloud services to make\n resources available --- for example, you can use Cloud Storage FUSE\n to access a Cloud Storage bucket as a mounted volume in a pipeline\n step. If your Cloud Storage URI is\n `gs://example-bucket/example-pipeline`, then your pipeline component's\n container can use Cloud Storage FUSE to access that URI as the\n following path: `/gcs/example-bucket/example-pipeline`.\n | **Important:** It's best practice that you avoid hardcoding the paths to external resources into your pipeline. Instead, pass the paths to external resources into your pipeline as a parameter. This makes it easier for you to run your pipeline in different environments, and to change the location of the resources used in a pipeline run.\n- When you run a pipeline using Vertex AI Pipelines, the pipeline root\n must have been specified in the `@pipeline` annotation or when you created\n the pipeline run.\n\n In Kubeflow Pipelines, specifying the pipeline root is optional. The\n artifacts of a pipeline run are stored using [MinIO](https://min.io/) by default.\n\n### Features not supported in Vertex AI Pipelines\n\n- The following Kubeflow Pipelines features are not supported in\n Vertex AI Pipelines.\n\n - **Cache Expiration**: In Kubeflow Pipelines, you can specify that\n cached component executions\n expire after a specified amount of time using the Kubeflow Pipelines SDK v1\n DSL.\n\n You can't specify that component executions expire after a\n specified amount of time using the Kubeflow Pipelines SDK v2 DSL.\n\n In Vertex AI Pipelines, when you run a pipeline using\n `create_run_from_job_spec` you can use the `enable_caching` argument to\n specify that this pipeline run does not use caching.\n - **Recursion**: In Kubeflow Pipelines, you can specify pipeline\n components that are\n called recursively.\n\n Vertex AI Pipelines doesn't support pipeline\n components that are called recursively."]]