airflow.providers.google.cloud.operators.kubernetes_engine

本模块包含 Google Kubernetes Engine 操作符。

属性

KUBE_CONFIG_ENV_VAR

GKEClusterAuthDetails

用于获取集群连接信息的助手。

GKEOperatorMixin

GKE 操作符的 Mixin,提供统一的 Hook 创建方式。

GKEDeleteClusterOperator

删除集群,包括 Kubernetes 端点和所有工作节点。

GKECreateClusterOperator

创建指定配置的 Google Kubernetes Engine 集群,并等待集群创建完成。

GKEStartKueueInsideClusterOperator

在集群内部安装特定版本的 Kueue。

GKEStartPodOperator

在指定的 Google Kubernetes Engine 集群中的 Kubernetes Pod 内执行任务。

GKEStartJobOperator

在指定的 Google Kubernetes Engine 集群中执行 Kubernetes Job。

GKEDescribeJobOperator

通过给定的名称检索 Job 的信息。

GKEListJobsOperator

检索 Job 列表。

GKECreateCustomResourceOperator

在指定的 Google Kubernetes Engine 集群中创建资源。

GKEDeleteCustomResourceOperator

在指定的 Google Kubernetes Engine 集群中删除资源。

GKEStartKueueJobOperator

在指定的 Google Kubernetes Engine 集群中的 Kueue 中执行 Kubernetes Job。

GKEDeleteJobOperator

在指定的 Google Kubernetes Engine 集群中删除 Kubernetes Job。

GKESuspendJobOperator

通过给定的名称挂起 Job。

GKEResumeJobOperator

通过给定的名称恢复 Job。

模块内容

airflow.providers.google.cloud.operators.kubernetes_engine.KUBE_CONFIG_ENV_VAR = 'KUBECONFIG'[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEClusterAuthDetails(cluster_name, project_id, use_internal_ip, use_dns_endpoint, cluster_hook)[source]

用于获取集群连接信息的助手。

参数:
  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • project_id (str) – Google Developers Console 项目 ID。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • cluster_hook (airflow.providers.google.cloud.hooks.kubernetes_engine.GKEHook) – 用于操作 kubernetes 集群的 airflow hook。

cluster_name[source]
project_id[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
cluster_hook[source]
fetch_cluster_info()[source]

获取连接到集群所需的信息。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKEOperatorMixin[source]

GKE 操作符的 Mixin,提供统一的 Hook 创建方式。

enable_tcp_keepalive = False[source]
template_fields: collections.abc.Sequence[str] = ('location', 'cluster_name', 'use_internal_ip', 'use_dns_endpoint', 'project_id', 'gcp_conn_id',...[source]
property cluster_hook: airflow.providers.google.cloud.hooks.kubernetes_engine.GKEHook[source]
property hook: airflow.providers.google.cloud.hooks.kubernetes_engine.GKEKubernetesHook[source]
property cluster_info: tuple[str, str][source]

获取连接到集群所需的信息。

property cluster_url: str[source]
property ssl_ca_cert: str[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEDeleteClusterOperator(location, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, cluster_name=None, name=None, api_version='v2', deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), poll_interval=10, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

删除集群,包括 Kubernetes 端点和所有工作节点。

要删除特定集群,必须指定 project_id、集群的 cluster_name、集群所在的 location 以及 task_id

操作符创建:

operator = GKEClusterDeleteOperator(
            task_id='cluster_delete',
            project_id='my-project',
            location='cluster-location'
            cluster_name='cluster-name')

另请参阅

有关如何使用此操作符的更多信息,请参阅指南:删除 GKE 集群

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str | None) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

  • name (str | None) – (已弃用)要删除的资源的名称,在此情况下是集群名称

  • api_version (str) – 要使用的 API 版本

  • deferrable (bool) – 在可推迟模式下运行操作符。

  • poll_interval (int) – 定义检查操作状态频率的间隔大小。

template_fields: collections.abc.Sequence[str][source]
location[source]
cluster_name = None[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
project_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
api_version = 'v2'[source]
deferrable = True[source]
poll_interval = 10[source]
property name: str | None[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

execute_complete(context, event)[source]

在 Trigger Job 完成后执行。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKECreateClusterOperator(body, location, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, api_version='v2', deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), poll_interval=10, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

创建指定配置的 Google Kubernetes Engine 集群,并等待集群创建完成。

定义要创建的集群所需的最低要求

dict() ::

cluster_def = {“name”: “my-cluster-name”, “initial_node_count”: 1}

Cluster proto:

from google.cloud.container_v1.types import Cluster

cluster_def = Cluster(name=”my-cluster-name”, initial_node_count=1)

操作符创建:

operator = GKEClusterCreateOperator(
            task_id='cluster_create',
            project_id='my-project',
            location='my-location'
            body=cluster_def)

另请参阅

有关创建集群的更多详细信息,请参阅:google.cloud.container_v1.types.Cluster

另请参阅

有关如何使用此操作符的更多信息,请参阅指南:创建 GKE 集群

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

  • body (dict | google.cloud.container_v1.types.Cluster) – 要创建的集群定义,可以是 protobuf 或 Python dict,如果为 dict,则必须与 protobuf 消息 Cluster 匹配

  • api_version (str) – 要使用的 API 版本

  • deferrable (bool) – 在可推迟模式下运行操作符。

  • poll_interval (int) – 定义检查操作状态频率的间隔大小。

template_fields: collections.abc.Sequence[str][source]
body[source]
location[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
cluster_name[source]
project_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
api_version = 'v2'[source]
poll_interval = 10[source]
deferrable =True[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

execute_complete(context, event)[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartKueueInsideClusterOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

Bases: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.kueue.KubernetesInstallKueueOperator

在集群内部安装特定版本的 Kueue。

另请参阅

有关如何使用此操作器的更多信息,请参阅指南:Install Kueue of specific version inside Cluster

另请参阅

有关 Kueue 的更多详细信息,请参阅参考资料:https://kueue.kubernetes.ac.cn/docs/overview/

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

enable_tcp_keepalive = True[source]
template_fields[source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, regional=None, on_finish_action=None, is_delete_operator_pod=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), *args, **kwargs)[source]

Bases: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator

在指定的 Google Kubernetes Engine 集群中的 Kubernetes Pod 内执行任务。

此操作器假定系统已安装 gcloud 并配置了带有服务帐户的连接 ID。

定义要创建的集群所需的**最少**变量是 task_idproject_idlocationcluster_namenamenamespaceimage

另请参阅

有关 Kubernetes Engine 认证的更多详细信息,请参阅参考资料:https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#internal_ip

另请参阅

有关如何使用此操作器的更多信息,请参阅指南:Run a Pod on a GKE cluster

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

  • regional (bool | None) – (已弃用) location 参数是区域名称。

  • on_finish_action (str | None) – 当 pod 达到其最终状态或执行被中断时应执行的操作。如果设置为“delete_pod”,则无论 pod 的状态如何,都将被删除;如果设置为“delete_succeeded_pod”,则仅删除成功的 pod。您可以设置为“keep_pod”来保留 pod。当前默认值为 keep_pod,但这将在该提供程序下个主要版本中更改。

  • is_delete_operator_pod (bool | None) – (已弃用)当 pod 达到其最终状态或执行被中断时应执行的操作。如果为 True,删除 pod;如果为 False,保留 pod。当前默认值为 False,但这将在该提供程序下个主要版本中更改。已弃用 - 请改用 on_finish_action

  • deferrable (bool) – 在可推迟模式下运行操作符。

template_fields: collections.abc.Sequence[str][source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
deferrable = True[source]
property is_delete_operator_pod: bool | None[source]
property regional: bool | None[source]
invoke_defer_method(last_log_time=None)[source]

重新定义在子类中使用的触发器。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartJobOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), job_poll_interval=10.0, *args, **kwargs)[source]

Bases: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.job.KubernetesJobOperator

在指定的 Google Kubernetes Engine 集群中执行 Kubernetes Job。

此操作器假定系统已安装 gcloud 并配置了带有服务帐户的连接 ID。

定义要创建的集群所需的**最少**变量是 task_idproject_idlocationcluster_namenamenamespaceimage

另请参阅

有关 Kubernetes Engine 认证的更多详细信息,请参阅参考资料:https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#internal_ip

另请参阅

有关如何使用此操作器的更多信息,请参阅指南:Run a Job on a GKE cluster

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

  • deferrable (bool) – 在可推迟模式下运行操作符。

  • poll_interval – (仅限可延迟模式)检查作业状态的轮询周期(秒)。

template_fields: collections.abc.Sequence[str][source]
deferrable = True[source]
job_poll_interval = 10.0[source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
execute(context)[source]

执行创建作业的过程。

execute_deferrable()[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEDescribeJobOperator(job_name, namespace, location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

通过给定的名称检索 Job 的信息。

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南:按给定名称检索 Job 信息

参数:
  • job_name (str) – 要删除的 Job 的名称

  • namespace (str) – Google Kubernetes Engine 命名空间的名称。

  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields: collections.abc.Sequence[str][source]
job_name[source]
namespace[source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
job: kubernetes.client.models.V1Job | None = None[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKEListJobsOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, namespace=None, do_xcom_push=True, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

检索 Job 列表。

如果指定了 namespace 参数,将检索指定命名空间下的 Job 列表。如果未指定 namespace,将输出所有命名空间下的 Job。

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南:检索 Job 列表

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

  • namespace (str | None) – Google Kubernetes Engine 命名空间的名称。

  • do_xcom_push (bool) – 如果设置为 True,Job 结果列表将推送到任务结果中。

template_fields: collections.abc.Sequence[str][source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
namespace = None[source]
do_xcom_push = True[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKECreateCustomResourceOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.resource.KubernetesCreateResourceOperator

在指定的 Google Kubernetes Engine 集群中创建资源。

此操作器假定系统已安装 gcloud 并配置了带有服务帐户的连接 ID。

另请参阅

有关 Kubernetes Engine 认证的更多详细信息,请参阅参考资料:https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#internal_ip

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南:在 GKE 集群中创建资源

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields: collections.abc.Sequence[str][source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEDeleteCustomResourceOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.resource.KubernetesDeleteResourceOperator

在指定的 Google Kubernetes Engine 集群中删除资源。

此操作器假定系统已安装 gcloud 并配置了带有服务帐户的连接 ID。

另请参阅

有关 Kubernetes Engine 认证的更多详细信息,请参阅参考资料:https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#internal_ip

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南:在 GKE 集群中删除资源

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields: collections.abc.Sequence[str][source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartKueueJobOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.kueue.KubernetesStartKueueJobOperator

在指定的 Google Kubernetes Engine 集群中的 Kueue 中执行 Kubernetes Job。

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields[source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKEDeleteJobOperator(location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.cncf.kubernetes.operators.job.KubernetesDeleteJobOperator

在指定的 Google Kubernetes Engine 集群中删除 Kubernetes Job。

此操作器假定系统已安装 gcloud 并配置了带有服务帐户的连接 ID。

定义要创建的集群所需最少的变量是 task_id, project_id, location, cluster_name, name, namespace

另请参阅

有关 Kubernetes Engine 认证的更多详细信息,请参阅参考资料:https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#internal_ip

另请参阅

有关如何使用此操作器的更多信息,请参阅指南: 删除 GKE 集群上的作业

参数:
  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields: collections.abc.Sequence[str][source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
class airflow.providers.google.cloud.operators.kubernetes_engine.GKESuspendJobOperator(name, namespace, location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

通过给定的名称挂起 Job。

另请参阅

有关如何使用此操作器的更多信息,请参阅指南: 暂停 GKE 集群上的作业

参数:
  • name (str) – 要暂停的作业名称

  • namespace (str) – Google Kubernetes Engine 命名空间的名称。

  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields: collections.abc.Sequence[str][source]
name[source]
namespace[source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
job: kubernetes.client.models.V1Job | None = None[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.kubernetes_engine.GKEResumeJobOperator(name, namespace, location, cluster_name, use_internal_ip=False, use_dns_endpoint=False, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, *args, **kwargs)[source]

继承自: GKEOperatorMixin, airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

通过给定的名称恢复 Job。

另请参阅

有关如何使用此操作器的更多信息,请参阅指南: 恢复 GKE 集群上的作业

参数:
  • name (str) – 要恢复的作业名称

  • namespace (str) – Google Kubernetes Engine 命名空间的名称。

  • location (str) – Google Kubernetes Engine 集群所在的区域或区域名称,例如“us-central1-a”

  • cluster_name (str) – Google Kubernetes Engine 集群的名称。

  • use_internal_ip (bool) – 使用内部 IP 地址作为端点。

  • use_dns_endpoint (bool) – 使用 DNS 地址作为端点。

  • project_id (str) – Google Developers Console 项目 ID

  • gcp_conn_id (str) – 要使用的 Google Cloud 连接 ID。这允许用户指定服务账号。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号列表,该账号将在请求中被模拟。如果设置为字符串,则该账号必须授予发起账号 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧接在其前的身份 Service Account Token Creator IAM 角色,列表中的第一个账号授予此角色给发起账号(模板化)。

template_fields: collections.abc.Sequence[str][source]
name[source]
namespace[source]
project_id = None[source]
location[source]
cluster_name[source]
gcp_conn_id = 'google_cloud_default'[source]
use_internal_ip = False[source]
use_dns_endpoint = False[source]
impersonation_chain = None[source]
job: kubernetes.client.models.V1Job | None = None[source]
execute(context)[source]

创建操作符时派生此方法。

Context 是与渲染 jinja 模板时使用的相同字典。

有关更多 Context,请参阅 get_template_context。

此条目是否有帮助?