airflow.providers.google.cloud.hooks.kubernetes_engine¶
此模組包含一個 Google Kubernetes Engine Hook。
屬性¶
類¶
用於建立到 GKE 叢集連線的幫助類。 |
|
Google Kubernetes Engine 叢集 API。 |
|
GKE 的非同步客戶端。 |
|
用於標準 Kubernetes API 的 GKE 認證 Hook。 |
|
用於標準 Kubernetes API 的非同步 GKE 認證 Hook。 |
模組內容¶
- class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEClusterConnection(cluster_url, ssl_ca_cert, credentials, enable_tcp_keepalive=False, use_dns_endpoint=False)[source]¶
用於建立到 GKE 叢集連線的幫助類。
- class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEHook(gcp_conn_id='google_cloud_default', location=None, impersonation_chain=None, **kwargs)[source]¶
Bases:
airflow.providers.google.common.hooks.base_google.GoogleBaseHookGoogle Kubernetes Engine 叢集 API。
Hook 中所有使用到 project_id 的方法必須使用關鍵字引數而非位置引數呼叫。
- wait_for_operation(operation, project_id=PROVIDE_PROJECT_ID)[source]¶
持續從 Google Cloud 獲取狀態。
此操作會一直進行,直到給定的操作完成或引發錯誤。
- 引數:
operation (google.cloud.container_v1.types.Operation) – 等待完成的操作。
project_id (str) – Google Cloud 專案 ID。
- 返回值:
從 Google Cloud 獲取的新的、已更新的操作。
- 返回型別:
- get_operation(operation_name, project_id=PROVIDE_PROJECT_ID)[source]¶
從 Google Cloud 獲取一個操作。
- 引數:
- 返回值:
從 Google Cloud 獲取的新的、已更新的操作
- 返回型別:
- delete_cluster(name, project_id=PROVIDE_PROJECT_ID, wait_to_complete=True, retry=DEFAULT, timeout=None)[source]¶
刪除叢集、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) – 等待請求完成的時間量,單位為秒。注意,如果指定了 retry,則超時適用於每個單獨的嘗試。
- 返回值:
如果成功,則返回刪除操作的完整 URL,否則返回 None。
- 返回型別:
- create_cluster(cluster, project_id=PROVIDE_PROJECT_ID, wait_to_complete=True, retry=DEFAULT, timeout=None)[source]¶
建立一個叢集。
這應該包含指定數量和型別的 Google Compute Engine 例項。
- 引數:
cluster (dict | google.cloud.container_v1.types.Cluster) – 一個 Cluster protobuf 或字典。如果提供字典,其形式必須與 protobuf 訊息
google.cloud.container_v1.types.Cluster相同。project_id (str) – Google Cloud 專案 ID。
wait_to_complete (bool) – 一個布林值,如果為 True,則方法會在建立操作未完成時休眠等待。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – 用於重試請求的重試物件(
google.api_core.retry.Retry)。如果指定為 None,則不會重試請求。timeout (float | None) – 等待請求完成的時間量,單位為秒。注意,如果指定了 retry,則超時適用於每個單獨的嘗試。
- 返回值:
新的或現有叢集的完整 URL。
- 丟擲:
ParseError – 在嘗試轉換字典時出現 JSON 解析問題。
AirflowException – cluster 不是字典型別,也不是 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)[source]¶
獲取指定叢集的詳細資訊。
- 引數:
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) – 等待請求完成的時間量,單位為秒。注意,如果指定了 retry,則超時適用於每個單獨的嘗試。
- check_cluster_autoscaling_ability(cluster)[source]¶
檢查指定的叢集是否具有自動伸縮能力。
叢集應為 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)[source]¶
Bases:
airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHookGKE 的非同步客戶端。
- class airflow.providers.google.cloud.hooks.kubernetes_engine.GKEKubernetesHook(cluster_url, ssl_ca_cert, enable_tcp_keepalive=False, use_dns_endpoint=False, *args, **kwargs)[source]¶
Bases:
airflow.providers.google.common.hooks.base_google.GoogleBaseHook,airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook用於標準 Kubernetes API 的 GKE 認證 Hook。
此 Hook 提供了 KubernetesHook 提供的全套標準 Kubernetes API,同時它還提供了 GKE 認證,因此可以在 GKE 叢集上使用 KubernetesHook 的功能。
- 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)[source]¶
Bases:
airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook,airflow.providers.cncf.kubernetes.hooks.kubernetes.AsyncKubernetesHook用於標準 Kubernetes API 的非同步 GKE 認證 Hook。
此 Hook 提供了 AsyncKubernetesHook 提供的全套標準 Kubernetes API,同時它還提供了 GKE 認證,因此可以在 GKE 叢集上使用 KubernetesHook 的功能。