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 获取状态。

此操作会一直执行,直到给定的操作完成或引发错误。

参数
  • operation (google.cloud.container_v1.types.Operation) – 要等待的 Operation。

  • project_id (str) – Google Cloud 项目 ID。

返回

从 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) – 用于确定何时/是否重试请求的重试对象。如果未指定,则不会重试请求。

  • 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)。如果未指定,则不会重试请求。

  • timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了重试,则超时适用于每次尝试。

返回

新集群或现有集群的完整 URL。

引发
  • ParseError – 尝试转换 dict 时出现 JSON 解析问题。

  • AirflowException – cluster 不是 dict 类型,也不是 Cluster 原型类型。

返回类型

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) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了重试,则超时适用于每次尝试。

check_cluster_autoscaling_ability(cluster)[source]

检查指定的集群是否具有自动扩缩能力。

集群应为 Autopilot,具有节点自动配置或常规自动缩放的节点池。如果集群支持自动扩缩,则返回 True,否则返回 False。

参数

cluster (google.cloud.container_v1.types.Cluster | dict) – 集群对象。

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

基类:airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook

GKE 的异步客户端。

sync_hook_class[source]
async get_operation(operation_name, project_id=PROVIDE_PROJECT_ID)[source]

从 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)[source]

基类: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 功能。

get_conn()[source]

返回 hook 的连接。

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

从 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)[source]

基类: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 功能。

sync_hook_class[source]
scopes = ['https://www.googleapis.com/auth/cloud-platform'][source]
async get_conn()[源代码]

此条目是否有帮助?