airflow.providers.google.cloud.hooks.kubernetes_engine

此模組包含 Google Kubernetes Engine Hook。

模組內容

類別

GKEClusterConnection

用於建立與 GKE 叢集連線的輔助程式。

GKEHook

Google Kubernetes Engine 叢集 API。

GKEAsyncHook

GKE 的非同步用戶端。

GKEKubernetesHook

用於標準 Kubernetes API 的 GKE 驗證 Hook。

GKEKubernetesAsyncHook

用於標準 Kubernetes API 的非同步 GKE 驗證 Hook。

屬性

OPERATIONAL_POLL_INTERVAL

airflow.providers.google.cloud.hooks.kubernetes_engine.OPERATIONAL_POLL_INTERVAL = 15[原始碼]
class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEClusterConnection(cluster_url, ssl_ca_cert, credentials, enable_tcp_keepalive=False)[原始碼]

用於建立與 GKE 叢集連線的輔助程式。

get_conn()[原始碼]
class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEHook(gcp_conn_id='google_cloud_default', location=None, impersonation_chain=None, **kwargs)[原始碼]

基底類別: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Google Kubernetes Engine 叢集 API。

Hook 中所有使用 project_id 的方法都必須使用關鍵字引數而不是位置引數呼叫。

get_cluster_manager_client()[原始碼]

建立或取得 ClusterManagerClient。

wait_for_operation(operation, project_id=PROVIDE_PROJECT_ID)[原始碼]

持續從 Google Cloud 擷取狀態。

此動作會持續執行,直到給定的操作完成或引發錯誤為止。

參數
返回

從 Google Cloud 擷取的新的、已更新的操作。

返回類型

google.cloud.container_v1.types.Operation

get_operation(operation_name, project_id=PROVIDE_PROJECT_ID)[原始碼]

從 Google Cloud 取得操作。

參數
  • operation_name (str) – 要擷取的操作名稱

  • project_id (str) – Google Cloud 專案 ID

返回

來自 Google Cloud 的新的、已更新的操作

返回類型

google.cloud.container_v1.types.Operation

delete_cluster(name, project_id=PROVIDE_PROJECT_ID, wait_to_complete=True, retry=DEFAULT, timeout=None)[原始碼]

刪除叢集、Kubernetes 端點和所有工作節點。

在叢集建立期間設定的防火牆和路由也會被刪除。如果其他 Google Compute Engine 資源(例如負載平衡器資源)在初始建立時不存在,即使叢集正在使用這些資源,也不會被刪除。

參數
  • name (str) – 要刪除的叢集名稱。

  • project_id (str) – Google Cloud 專案 ID。

  • wait_to_complete (bool) – 如果為 True,則等待刪除完成後再返回。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用於判斷何時/是否重試請求的重試物件。如果未指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的秒數。請注意,如果指定了重試,則逾時時間會套用至每個個別嘗試。

返回

如果成功,則為刪除操作的完整 URL,否則為 None。

返回類型

google.cloud.container_v1.types.Operation | None

create_cluster(cluster, project_id=PROVIDE_PROJECT_ID, wait_to_complete=True, retry=DEFAULT, timeout=None)[原始碼]

建立叢集。

這應包含指定數量和 Google Compute Engine 執行個體的類型。

參數
  • cluster (dict | google.cloud.container_v1.types.Cluster) – Cluster protobuf 或 dict。如果提供 dict,則其格式必須與 protobuf 訊息 google.cloud.container_v1.types.Cluster 相同。

  • project_id (str) – Google Cloud 專案 ID。

  • wait_to_complete (bool) – 布林值,使方法在建立操作完成前進入休眠狀態。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用於重試請求的重試物件 (google.api_core.retry.Retry)。如果未指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的秒數。請注意,如果指定了重試,則逾時時間會套用至每個個別嘗試。

返回

新叢集或現有叢集的完整 URL。

引發
  • ParseError – 在嘗試轉換 dict 時發生 JSON 解析問題時。

  • AirflowException – 叢集既不是 dict 類型也不是 Cluster proto 類型。

返回類型

google.cloud.container_v1.types.Operation | google.cloud.container_v1.types.Cluster

get_cluster(name, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None)[原始碼]

取得指定叢集的詳細資訊。

參數
  • name (str) – 要擷取的叢集名稱。

  • project_id (str) – Google Cloud 專案 ID。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用於重試請求的重試物件。如果未指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的秒數。請注意,如果指定了重試,則逾時時間會套用至每個個別嘗試。

check_cluster_autoscaling_ability(cluster)[原始碼]

檢查指定的叢集是否具備自動擴展能力。

叢集應為 Autopilot,並具有節點自動佈建或常規自動擴展節點集區。如果叢集支援自動擴展,則返回 True,否則返回 False。

參數

cluster (google.cloud.container_v1.types.Cluster | dict) – Cluster 物件。

class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEAsyncHook(gcp_conn_id='google_cloud_default', location=None, impersonation_chain=None, **kwargs)[原始碼]

基底類別: airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook

GKE 的非同步用戶端。

sync_hook_class[原始碼]
async get_operation(operation_name, project_id=PROVIDE_PROJECT_ID)[原始碼]

從 Google Cloud 擷取操作。

參數
  • operation_name (str) – 要擷取的操作名稱。

  • project_id (str) – Google Cloud 專案 ID。

返回

來自 Google Cloud 的新的、已更新的操作。

返回類型

google.cloud.container_v1.types.Operation

class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEKubernetesHook(cluster_url, ssl_ca_cert, enable_tcp_keepalive=False, *args, **kwargs)[原始碼]

基底類別: airflow.providers.google.common.hooks.base_google.GoogleBaseHookairflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook

用於標準 Kubernetes API 的 GKE 驗證 Hook。

此 Hook 提供 KubernetesHook 提供的完整標準 Kubernetes API 集,同時提供 GKE 驗證,因此可以針對 GKE 叢集使用 KubernetesHook 功能。

get_conn()[原始碼]

傳回 Hook 的連線。

apply_from_yaml_file(api_client=None, yaml_file=None, yaml_objects=None, verbose=False, namespace='default')[原始碼]

從 yaml 檔案執行動作。

參數
  • api_client (Any) – Kubernetes 用戶端應用程式。

  • yaml_file (str | None) – 包含 yaml 檔案的路徑。

  • yaml_objects (list[dict] | None) – YAML 物件清單;用於取代讀取 yaml_file。

  • verbose (bool) – 如果為 True,則列印來自建立動作的確認訊息。預設值為 False。

  • namespace (str) – 包含在其中建立所有資源的命名空間。命名空間必須預先存在,否則資源建立將會失敗。

class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEKubernetesAsyncHook(cluster_url, ssl_ca_cert, gcp_conn_id='google_cloud_default', impersonation_chain=None, enable_tcp_keepalive=True, **kwargs)[原始碼]

基底類別: airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHookairflow.providers.cncf.kubernetes.hooks.kubernetes.AsyncKubernetesHook

用於標準 Kubernetes API 的非同步 GKE 驗證 Hook。

此 Hook 提供 AsyncKubernetesHook 提供的完整標準 Kubernetes API 集,同時提供 GKE 驗證,因此可以針對 GKE 叢集使用 KubernetesHook 功能。

sync_hook_class[原始碼]
scopes = ['https://www.googleapis.com/auth/cloud-platform'][原始碼]
async get_conn()[原始碼]

這個條目是否有幫助?