TFX 命令列介面 (CLI) 使用管線協調器 (例如 Kubeflow Pipelines、Vertex Pipelines) 執行全方位的管線動作。本機協調器也可用於更快速的開發或偵錯。Apache Beam 和 Apache airflow 支援做為實驗性功能。例如,您可以使用 CLI 來
- 建立、更新和刪除管線。
- 在各種協調器上執行管線並監控執行情況。
- 列出管線和管線執行。
關於 TFX CLI
TFX CLI 會與 TFX 套件一同安裝。所有 CLI 命令都遵循下列結構
tfx command-group command flags
目前支援下列 command-group 選項
- tfx pipeline - 建立和管理 TFX 管線。
- tfx run - 在各種協調平台建立和管理 TFX 管線的執行。
- tfx template - 用於列出和複製 TFX 管線範本的實驗性命令。
每個命令群組都提供一組 commands。請按照 管線命令、執行命令和 範本命令章節中的操作說明,進一步瞭解如何使用這些命令。
旗標可讓您將引數傳遞至 CLI 命令。旗標中的字詞會以連字號 (-
) 或底線 (_
) 分隔。例如,管線名稱旗標可以指定為 --pipeline-name
或 --pipeline_name
。本文件為了簡潔起見,以底線指定旗標。進一步瞭解 TFX CLI 中使用的 旗標。
tfx pipeline
tfx pipeline
命令群組中命令的結構如下
tfx pipeline command required-flags [optional-flags]
請使用下列章節,進一步瞭解 tfx pipeline
命令群組中的命令。
建立
在指定的協調器中建立新的管線。
用法
tfx pipeline create --pipeline_path=pipeline-path [--endpoint=endpoint --engine=engine \ --iap_client_id=iap-client-id --namespace=namespace \ --build_image --build_base_image=build-base-image]
- --pipeline_path=pipeline-path
- 管線設定檔的路徑。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 使用 Kubeflow Pipelines 時,用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。 - --build_image
-
(選用) 當 engine 為 kubeflow 或 vertex 時,如果指定,TFX 會為您的管線建立容器映像檔。將使用目前目錄中的 `Dockerfile`,如果不存在,TFX 會自動產生一個。
建構的映像檔將推送至 `KubeflowDagRunnerConfig` 或 `KubeflowV2DagRunnerConfig` 中指定的遠端登錄。
- --build_base_image=build-base-image
-
(選用) 當 engine 為 kubeflow 時,TFX 會為您的管線建立容器映像檔。建構基礎映像檔指定在建構管線容器映像檔時要使用的基礎容器映像檔。
範例
Kubeflow
tfx pipeline create --engine=kubeflow --pipeline_path=pipeline-path \ --iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint \ --build_image
本機
tfx pipeline create --engine=local --pipeline_path=pipeline-path
Vertex
tfx pipeline create --engine=vertex --pipeline_path=pipeline-path \ --build_image
若要從使用者環境自動偵測引擎,只需避免使用引擎旗標,如下列範例所示。如需更多詳細資訊,請查看旗標章節。
tfx pipeline create --pipeline_path=pipeline-path
更新
更新指定協調器中的現有管線。
用法
tfx pipeline update --pipeline_path=pipeline-path [--endpoint=endpoint --engine=engine \ --iap_client_id=iap-client-id --namespace=namespace --build_image]
- --pipeline_path=pipeline-path
- 管線設定檔的路徑。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。 - --build_image
-
(選用) 當 engine 為 kubeflow 或 vertex 時,如果指定,TFX 會為您的管線建立容器映像檔。將使用目前目錄中的 `Dockerfile`。
建構的映像檔將推送至 `KubeflowDagRunnerConfig` 或 `KubeflowV2DagRunnerConfig` 中指定的遠端登錄。
範例
Kubeflow
tfx pipeline update --engine=kubeflow --pipeline_path=pipeline-path \ --iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint \ --build_image
本機
tfx pipeline update --engine=local --pipeline_path=pipeline-path
Vertex
tfx pipeline update --engine=vertex --pipeline_path=pipeline-path \ --build_image
編譯
編譯管線設定檔以在 Kubeflow 中建立工作流程檔案,並在編譯時執行下列檢查
- 檢查管線路徑是否有效。
- 檢查是否已從管線設定檔成功擷取管線詳細資訊。
- 檢查管線設定檔中的 DagRunner 是否與引擎相符。
- 檢查是否已在提供的套件路徑中成功建立工作流程檔案 (僅適用於 Kubeflow)。
建議在建立或更新管線之前使用。
用法
tfx pipeline compile --pipeline_path=pipeline-path [--engine=engine]
- --pipeline_path=pipeline-path
- 管線設定檔的路徑。
- --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
範例
Kubeflow
tfx pipeline compile --engine=kubeflow --pipeline_path=pipeline-path
本機
tfx pipeline compile --engine=local --pipeline_path=pipeline-path
Vertex
tfx pipeline compile --engine=vertex --pipeline_path=pipeline-path
刪除
從指定的協調器刪除管線。
用法
tfx pipeline delete --pipeline_path=pipeline-path [--endpoint=endpoint --engine=engine \ --iap_client_id=iap-client-id --namespace=namespace]
- --pipeline_path=pipeline-path
- 管線設定檔的路徑。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
範例
Kubeflow
tfx pipeline delete --engine=kubeflow --pipeline_name=pipeline-name \ --iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint
本機
tfx pipeline delete --engine=local --pipeline_name=pipeline-name
Vertex
tfx pipeline delete --engine=vertex --pipeline_name=pipeline-name
清單
列出指定協調器中的所有管線。
用法
tfx pipeline list [--endpoint=endpoint --engine=engine \ --iap_client_id=iap-client-id --namespace=namespace]
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
範例
Kubeflow
tfx pipeline list --engine=kubeflow --iap_client_id=iap-client-id \ --namespace=namespace --endpoint=endpoint
本機
tfx pipeline list --engine=local
Vertex
tfx pipeline list --engine=vertex
tfx run
tfx run
命令群組中命令的結構如下
tfx run command required-flags [optional-flags]
請使用下列章節,進一步瞭解 tfx run
命令群組中的命令。
建立
在協調器中為管線建立新的執行個體。對於 Kubeflow,會使用叢集中管線的最新管線版本。
用法
tfx run create --pipeline_name=pipeline-name [--endpoint=endpoint \ --engine=engine --iap_client_id=iap-client-id --namespace=namespace]
- --pipeline_name=pipeline-name
- 管線的名稱。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --runtime_parameter=parameter-name=parameter-value
- (選用) 設定執行階段參數值。可以設定多次以設定多個變數的值。僅適用於 `airflow`、`kubeflow` 和 `vertex` 引擎。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。 - --project=GCP-project-id
- (Vertex 的必要項目) Vertex 管線的 GCP 專案 ID。
- --region=GCP-region
- (Vertex 的必要項目) GCP 區域名稱,例如 us-central1。如需可用區域,請參閱 [Vertex 文件](https://cloud.google.com/vertex-ai/docs/general/locations)。
範例
Kubeflow
tfx run create --engine=kubeflow --pipeline_name=pipeline-name --iap_client_id=iap-client-id \ --namespace=namespace --endpoint=endpoint
本機
tfx run create --engine=local --pipeline_name=pipeline-name
Vertex
tfx run create --engine=vertex --pipeline_name=pipeline-name \ --runtime_parameter=var_name=var_value \ --project=gcp-project-id --region=gcp-region
終止
停止指定管線的執行。
** 重要注意事項:目前僅 Kubeflow 支援。
用法
tfx run terminate --run_id=run-id [--endpoint=endpoint --engine=engine \ --iap_client_id=iap-client-id --namespace=namespace]
- --run_id=run-id
- 管線執行的唯一識別碼。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
範例
Kubeflow
tfx run delete --engine=kubeflow --run_id=run-id --iap_client_id=iap-client-id \ --namespace=namespace --endpoint=endpoint
清單
列出管線的所有執行。
** 重要注意事項:目前本機和 Apache Beam 不支援。
用法
tfx run list --pipeline_name=pipeline-name [--endpoint=endpoint \ --engine=engine --iap_client_id=iap-client-id --namespace=namespace]
- --pipeline_name=pipeline-name
- 管線的名稱。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- airflow:(實驗性) 將引擎設定為 Apache Airflow
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
範例
Kubeflow
tfx run list --engine=kubeflow --pipeline_name=pipeline-name --iap_client_id=iap-client-id \ --namespace=namespace --endpoint=endpoint
狀態
傳回執行的目前狀態。
** 重要注意事項:目前本機和 Apache Beam 不支援。
用法
tfx run status --pipeline_name=pipeline-name --run_id=run-id [--endpoint=endpoint \ --engine=engine --iap_client_id=iap-client-id --namespace=namespace]
- --pipeline_name=pipeline-name
- 管線的名稱。
- --run_id=run-id
- 管線執行的唯一識別碼。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- airflow:(實驗性) 將引擎設定為 Apache Airflow
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
範例
Kubeflow
tfx run status --engine=kubeflow --run_id=run-id --pipeline_name=pipeline-name \ --iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint
刪除
刪除指定管線的執行。
** 重要注意事項:目前僅 Kubeflow 支援
用法
tfx run delete --run_id=run-id [--engine=engine --iap_client_id=iap-client-id \ --namespace=namespace --endpoint=endpoint]
- --run_id=run-id
- 管線執行的唯一識別碼。
- --endpoint=endpoint
-
(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --engine=engine
-
(選用) 用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --iap_client_id=iap-client-id
- (選用) 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- (選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
範例
Kubeflow
tfx run delete --engine=kubeflow --run_id=run-id --iap_client_id=iap-client-id \ --namespace=namespace --endpoint=endpoint
tfx template [實驗性]
tfx template
命令群組中命令的結構如下
tfx template command required-flags [optional-flags]
請使用下列章節,進一步瞭解 tfx template
命令群組中的命令。範本是一項實驗性功能,隨時可能變更。
清單
列出可用的 TFX 管線範本。
用法
tfx template list
複製
將範本複製到目的地目錄。
用法
tfx template copy --model=model --pipeline_name=pipeline-name \ --destination_path=destination-path
- --model=model
- 管線範本建構的模型名稱。
- --pipeline_name=pipeline-name
- 管線的名稱。
- --destination_path=destination-path
- 要將範本複製到的路徑。
瞭解 TFX CLI 旗標
通用旗標
- --engine=engine
-
用於管線的協調器。引擎的值必須與下列值之一相符
- kubeflow:將引擎設定為 Kubeflow
- local:將引擎設定為本機協調器
- vertex:將引擎設定為 Vertex Pipelines
- airflow:(實驗性) 將引擎設定為 Apache Airflow
- beam:(實驗性) 將引擎設定為 Apache Beam
如果未設定引擎,則會根據環境自動偵測引擎。
** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。
- --pipeline_name=pipeline-name
- 管線的名稱。
- --pipeline_path=pipeline-path
- 管線設定檔的路徑。
- --run_id=run-id
- 管線執行的唯一識別碼。
Kubeflow 特定旗標
- --endpoint=endpoint
-
Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似
https://host-name/pipeline
如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。
如果未指定
--endpoint
,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。 - --iap_client_id=iap-client-id
- 用於 IAP 保護端點的用戶端 ID。
- --namespace=namespace
- 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為
kubeflow
。
TFX CLI 產生的檔案
建立和執行管線時,會產生多個檔案以進行管線管理。
- ${HOME}/tfx/local, beam, airflow, vertex
- 從設定讀取的管線中繼資料會儲存在
${HOME}/tfx/${ORCHESTRATION_ENGINE}/${PIPELINE_NAME}
下。此位置可以透過設定環境變數 (例如AIRFLOW_HOME
或KUBEFLOW_HOME
) 進行自訂。此行為在未來的版本中可能會變更。此目錄用於儲存管線資訊,包括 Kubeflow Pipelines 叢集中的管線 ID,這是建立執行或更新管線所需的資訊。 - 在 TFX 0.25 之前,這些檔案位於
${HOME}/${ORCHESTRATION_ENGINE}
下。在 TFX 0.25 中,舊位置中的檔案將自動移至新位置,以便順利移轉。 - 從 TFX 0.27 開始,kubeflow 不會在本機檔案系統中建立這些中繼資料檔案。但是,如需 kubeflow 建立的其他檔案,請參閱下文。
- 從設定讀取的管線中繼資料會儲存在
- (僅限 Kubeflow) Dockerfile 和容器映像檔
- Kubeflow Pipelines 需要兩種管線輸入。這些檔案由 TFX 在目前目錄中產生。
- 其中一個是容器映像檔,將用於執行管線中的元件。當為 Kubeflow Pipelines 建立或更新管線時,會使用
--build-image
旗標建構此容器映像檔。如果Dockerfile
不存在,TFX CLI 會產生該檔案,並建構容器映像檔並將其推送至 KubeflowDagRunnerConfig 中指定的登錄。