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.GoogleBaseHook
Google 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.GoogleBaseAsyncHook
GKE 的异步客户端。
- 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 的功能。