airflow.providers.amazon.aws.operators.eks

此模块包含 Amazon EKS 操作符。

模块内容

EksCreateClusterOperator

创建 Amazon EKS 集群控制平面。

EksCreateNodegroupOperator

为现有 Amazon EKS 集群创建 Amazon EKS 托管节点组。

EksCreateFargateProfileOperator

为 Amazon EKS 集群创建 AWS Fargate 配置文件。

EksDeleteClusterOperator

删除 Amazon EKS 集群控制平面及其附加的所有节点组。

EksDeleteNodegroupOperator

从 Amazon EKS 集群删除 Amazon EKS 托管节点组。

EksDeleteFargateProfileOperator

从 Amazon EKS 集群删除 AWS Fargate 配置文件。

EksPodOperator

在指定的 Amazon EKS 集群上的 Kubernetes pod 中执行任务。

属性

CHECK_INTERVAL_SECONDS

TIMEOUT_SECONDS

DEFAULT_COMPUTE_TYPE

DEFAULT_CONN_ID

DEFAULT_FARGATE_PROFILE_NAME

DEFAULT_NAMESPACE_NAME

DEFAULT_NODEGROUP_NAME

CAN_NOT_DELETE_MSG

MISSING_ARN_MSG

SUCCESS_MSG

SUPPORTED_COMPUTE_VALUES

NODEGROUP_FULL_NAME

FARGATE_FULL_NAME

airflow.providers.amazon.aws.operators.eks.CHECK_INTERVAL_SECONDS = 15[source]
airflow.providers.amazon.aws.operators.eks.TIMEOUT_SECONDS[source]
airflow.providers.amazon.aws.operators.eks.DEFAULT_COMPUTE_TYPE = 'nodegroup'[source]
airflow.providers.amazon.aws.operators.eks.DEFAULT_CONN_ID = 'aws_default'[source]
airflow.providers.amazon.aws.operators.eks.DEFAULT_FARGATE_PROFILE_NAME = 'profile'[source]
airflow.providers.amazon.aws.operators.eks.DEFAULT_NAMESPACE_NAME = 'default'[source]
airflow.providers.amazon.aws.operators.eks.DEFAULT_NODEGROUP_NAME = 'nodegroup'[source]
airflow.providers.amazon.aws.operators.eks.CAN_NOT_DELETE_MSG = '无法删除附加了 {compute} 的集群。正在删除 {count} {compute}。'[source]
airflow.providers.amazon.aws.operators.eks.MISSING_ARN_MSG = '创建 {compute} 需要传入 {requirement}。'[source]
airflow.providers.amazon.aws.operators.eks.SUCCESS_MSG = '没有剩余的 {compute},正在删除集群。'[source]
airflow.providers.amazon.aws.operators.eks.SUPPORTED_COMPUTE_VALUES[source]
airflow.providers.amazon.aws.operators.eks.NODEGROUP_FULL_NAME = 'Amazon EKS 托管节点组'[source]
airflow.providers.amazon.aws.operators.eks.FARGATE_FULL_NAME = 'AWS Fargate 配置文件'[source]
class airflow.providers.amazon.aws.operators.eks.EksCreateClusterOperator(cluster_name, cluster_role_arn, resources_vpc_config, compute=DEFAULT_COMPUTE_TYPE, create_cluster_kwargs=None, nodegroup_name=DEFAULT_NODEGROUP_NAME, nodegroup_role_arn=None, create_nodegroup_kwargs=None, fargate_profile_name=DEFAULT_FARGATE_PROFILE_NAME, fargate_pod_execution_role_arn=None, fargate_selectors=None, create_fargate_profile_kwargs=None, wait_for_completion=False, aws_conn_id=DEFAULT_CONN_ID, region=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), waiter_delay=30, waiter_max_attempts=40, **kwargs)[source]

基类:airflow.models.BaseOperator

创建 Amazon EKS 集群控制平面。

可以选择创建支持的计算架构

  • 如果参数 ‘compute’ 的值为 ‘nodegroup’,还将

    尝试为集群创建 Amazon EKS 托管节点组。请参阅 EksCreateNodegroupOperator 文档了解要求。

  • 如果参数 ‘compute’ 的值为 ‘fargate’,还将尝试为集群创建 AWS

    Fargate 配置文件。请参阅 EksCreateFargateProfileOperator 文档了解要求。

另请参阅

有关如何使用此操作符的更多信息,请查看指南:创建 Amazon EKS 集群

参数
  • cluster_name (str) – 为您的 Amazon EKS 集群指定的唯一名称。(已模板化)

  • cluster_role_arn (str) – IAM 角色的 Amazon 资源名称 (ARN),该角色为 Kubernetes 控制平面提供代表您调用 AWS API 操作的权限。(已模板化)

  • resources_vpc_config (dict) – 集群控制平面使用的 VPC 配置。(已模板化)

  • compute (str | None) – 要随集群一起生成的计算架构类型。(已模板化)默认为“nodegroup”,以生成 EKS 托管节点组。

  • create_cluster_kwargs (dict | None) – 传递给 CreateCluster API 的可选参数(已模板化)

  • wait_for_completion (bool) – 如果为 True,则等待操作符完成。(默认值:False)(已模板化)

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

如果 compute 的值被指定为“nodegroup”

参数
  • nodegroup_name (str) – 必需为您的 Amazon EKS 托管节点组指定的唯一名称。(已模板化)

  • nodegroup_role_arn (str | None) – 必需与 Amazon EKS 托管节点组关联的 IAM 角色的 Amazon 资源名称 (ARN)。(已模板化)

  • create_nodegroup_kwargs (dict | None) – 传递给 CreateNodegroup API 的可选参数(已模板化)

如果 compute 的值被指定为“fargate”

参数
  • fargate_profile_name (str) – 必需为您的 AWS Fargate 配置文件指定的唯一名称。(已模板化)

  • fargate_pod_execution_role_arn (str | None) – 必需用于与 AWS Fargate 配置文件中的选择器匹配的 pod 的 pod 执行角色的 Amazon 资源名称 (ARN)。(已模板化)

  • fargate_selectors (list | None) – 要匹配的 pod 选择器,以便使用此 AWS Fargate 配置文件。(已模板化)

  • create_fargate_profile_kwargs (dict | None) – 传递给 CreateFargateProfile API 的可选参数(已模板化)

  • waiter_delay (int) – 两次连续调用之间等待检查集群状态的时间(以秒为单位)

  • waiter_max_attempts (int) – 检查集群状态的最大尝试次数

  • deferrable (bool) – 如果为 True,则操作符将异步等待作业完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值:False)

template_fields: collections.abc.Sequence[str] = ('cluster_name', 'cluster_role_arn', 'resources_vpc_config', 'create_cluster_kwargs', 'compute',...[源代码]
hook()[源代码]
execute(context)[源代码]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

deferrable_create_cluster_next(context, event=None)[源代码]
execute_failed(context, event=None)[源代码]
execute_complete(context, event=None)[源代码]
class airflow.providers.amazon.aws.operators.eks.EksCreateNodegroupOperator(cluster_name, nodegroup_subnets, nodegroup_role_arn, nodegroup_name=DEFAULT_NODEGROUP_NAME, create_nodegroup_kwargs=None, wait_for_completion=False, aws_conn_id=DEFAULT_CONN_ID, region=None, waiter_delay=30, waiter_max_attempts=80, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]

基类:airflow.models.BaseOperator

为现有 Amazon EKS 集群创建 Amazon EKS 托管节点组。

另请参阅

有关如何使用此操作符的更多信息,请查看指南:创建 Amazon EKS 托管节点组

参数
  • cluster_name (str) – 要在其中创建托管节点组的 Amazon EKS 集群的名称。(已模板化)

  • nodegroup_name ( str ) – 用于指定托管节点组的唯一名称。(已模版化)

  • nodegroup_subnets ( list[str] | str ) – 用于托管节点组创建的 Auto Scaling 组的子网。(已模版化)

  • nodegroup_role_arn ( str ) – 与托管节点组关联的 IAM 角色的 Amazon 资源名称 (ARN)。(已模版化)

  • create_nodegroup_kwargs ( dict | None ) – 传递给 Create Nodegroup API 的可选参数(已模版化)

  • wait_for_completion (bool) – 如果为 True,则等待操作符完成。(默认值:False)(已模板化)

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

  • waiter_delay ( int ) – 检查节点组状态的两次连续调用之间等待的时间(以秒为单位)

  • waiter_max_attempts ( int ) – 检查节点组状态的最大尝试次数

  • deferrable ( bool ) – 如果为 True,运算符将异步等待节点组被创建。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值:False)

template_fields: collections.abc.Sequence[str] = ('cluster_name', 'nodegroup_subnets', 'nodegroup_role_arn', 'nodegroup_name',...[source]
execute(context)[source]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

execute_complete(context, event=None)[source]
class airflow.providers.amazon.aws.operators.eks.EksCreateFargateProfileOperator(cluster_name, pod_execution_role_arn, selectors, fargate_profile_name=DEFAULT_FARGATE_PROFILE_NAME, create_fargate_profile_kwargs=None, wait_for_completion=False, aws_conn_id=DEFAULT_CONN_ID, region=None, waiter_delay=10, waiter_max_attempts=60, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]

基类:airflow.models.BaseOperator

为 Amazon EKS 集群创建 AWS Fargate 配置文件。

另请参阅

有关如何使用此运算符的更多信息,请查看以下指南: 创建 AWS Fargate Profile

参数
  • cluster_name ( str ) – 应用 AWS Fargate Profile 的 Amazon EKS 集群的名称。(已模版化)

  • pod_execution_role_arn ( str ) – 用于匹配 AWS Fargate Profile 中选择器的 Pod 的 Pod 执行角色的 Amazon 资源名称 (ARN)。(已模版化)

  • selectors ( list ) – 用于匹配 Pod 以使用此 AWS Fargate Profile 的选择器。(已模版化)

  • fargate_profile_name ( str ) – 用于指定 AWS Fargate Profile 的唯一名称。(已模版化)

  • create_fargate_profile_kwargs ( dict | None ) – 传递给 CreateFargate Profile API 的可选参数(已模版化)

  • wait_for_completion (bool) – 如果为 True,则等待操作符完成。(默认值:False)(已模板化)

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

  • waiter_delay ( int ) – 检查 Profile 状态的两次连续调用之间等待的时间(以秒为单位)

  • waiter_max_attempts ( int ) – 检查 Profile 状态的最大尝试次数。

  • deferrable ( bool ) – 如果为 True,运算符将异步等待 Profile 被创建。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值:False)

template_fields: collections.abc.Sequence[str] = ('cluster_name', 'pod_execution_role_arn', 'selectors', 'fargate_profile_name',...[source]
execute(context)[source]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

execute_complete(context, event=None)[source]
class airflow.providers.amazon.aws.operators.eks.EksDeleteClusterOperator(cluster_name, force_delete_compute=False, wait_for_completion=False, aws_conn_id=DEFAULT_CONN_ID, region=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), waiter_delay=30, waiter_max_attempts=40, **kwargs)[source]

基类:airflow.models.BaseOperator

删除 Amazon EKS 集群控制平面及其附加的所有节点组。

另请参阅

有关如何使用此运算符的更多信息,请查看以下指南: 删除 Amazon EKS 集群

参数
  • cluster_name ( str ) – 要删除的 Amazon EKS 集群的名称。(已模版化)

  • force_delete_compute (bool) – 如果为 True,将删除任何附加的资源。(已模板化) 默认为 False。

  • wait_for_completion (bool) – 如果为 True,则等待操作符完成。(默认值:False)(已模板化)

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

  • waiter_delay (int) – 两次连续调用之间等待检查集群状态的时间(以秒为单位)

  • waiter_max_attempts (int) – 检查集群状态的最大尝试次数

  • deferrable (bool) – 如果为 True,操作符将异步等待集群被删除。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认:False)

template_fields: collections.abc.Sequence[str] = ('cluster_name', 'force_delete_compute', 'wait_for_completion', 'aws_conn_id', 'region')[源代码]
execute(context)[源代码]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

delete_any_nodegroups(eks_hook)[源代码]

删除为提供的 Amazon EKS 集群管理的所有 Amazon EKS 托管节点组。

Amazon EKS 托管节点组可以并行删除,因此我们可以批量发送所有删除命令,并在节点组计数为零时继续执行。

delete_any_fargate_profiles(eks_hook)[源代码]

删除为提供的 Amazon EKS 集群的所有 EKS Fargate 配置文件。

EKS Fargate 配置文件必须一次删除一个,因此我们必须等待一个删除完成后再发送下一个删除命令。

execute_complete(context, event=None)[源代码]
class airflow.providers.amazon.aws.operators.eks.EksDeleteNodegroupOperator(cluster_name, nodegroup_name, wait_for_completion=False, aws_conn_id=DEFAULT_CONN_ID, region=None, waiter_delay=30, waiter_max_attempts=40, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]

基类:airflow.models.BaseOperator

从 Amazon EKS 集群删除 Amazon EKS 托管节点组。

另请参阅

有关如何使用此操作符的更多信息,请查看指南: 删除 Amazon EKS 托管节点组

参数
  • cluster_name (str) – 与您的节点组关联的 Amazon EKS 集群的名称。(已模板化)

  • nodegroup_name (str) – 要删除的节点组的名称。(已模板化)

  • wait_for_completion (bool) – 如果为 True,则等待操作符完成。(默认值:False)(已模板化)

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

  • waiter_delay ( int ) – 检查节点组状态的两次连续调用之间等待的时间(以秒为单位)

  • waiter_max_attempts ( int ) – 检查节点组状态的最大尝试次数

  • deferrable (bool) – 如果为 True,操作符将异步等待节点组被删除。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认:False)

template_fields: collections.abc.Sequence[str] = ('cluster_name', 'nodegroup_name', 'wait_for_completion', 'aws_conn_id', 'region')[源代码]
execute(context)[源代码]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

execute_complete(context, event=None)[源代码]
class airflow.providers.amazon.aws.operators.eks.EksDeleteFargateProfileOperator(cluster_name, fargate_profile_name, wait_for_completion=False, aws_conn_id=DEFAULT_CONN_ID, region=None, waiter_delay=30, waiter_max_attempts=60, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]

基类:airflow.models.BaseOperator

从 Amazon EKS 集群删除 AWS Fargate 配置文件。

另请参阅

有关如何使用此操作符的更多信息,请查看指南: 删除 AWS Fargate 配置文件

参数
  • cluster_name (str) – 与您的 Fargate 配置文件关联的 Amazon EKS 集群的名称。(已模板化)

  • fargate_profile_name (str) – 要删除的 AWS Fargate 配置文件的名称。(已模板化)

  • wait_for_completion (bool) – 如果为 True,则等待操作符完成。(默认值:False)(已模板化)

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

  • waiter_delay ( int ) – 检查 Profile 状态的两次连续调用之间等待的时间(以秒为单位)

  • waiter_max_attempts ( int ) – 检查 Profile 状态的最大尝试次数。

  • deferrable (bool) – 如果为 True,操作符将异步等待配置文件被删除。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认:False)

template_fields: collections.abc.Sequence[str] = ('cluster_name', 'fargate_profile_name', 'wait_for_completion', 'aws_conn_id', 'region')[源代码]
execute(context)[源代码]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

execute_complete(context, event=None)[源代码]
class airflow.providers.amazon.aws.operators.eks.EksPodOperator(cluster_name, in_cluster=False, namespace=DEFAULT_NAMESPACE_NAME, pod_name=None, aws_conn_id=DEFAULT_CONN_ID, region=None, on_finish_action=None, **kwargs)[源代码]

基类: airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator

在指定的 Amazon EKS 集群上的 Kubernetes pod 中执行任务。

另请参阅

有关如何使用此操作符的更多信息,请查看指南:在 Amazon EKS 集群上执行任务

参数
  • cluster_name (str) – 要在其上执行任务的 Amazon EKS 集群的名称。(已模板化)

  • in_cluster (bool) – 如果为 True,则在集群内部查找配置;如果为 False,则查找本地文件路径。

  • namespace (str) – 执行 Pod 的命名空间。(已模板化)

  • pod_name (str | None) – 给 Pod 的唯一名称。(已模板化)

  • aws_profile – 包含 AWS CLI 工具要使用的凭据的命名配置文件。

  • region (str | None) – 连接应使用的 AWS 区域。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。(已模板化)如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式方式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

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

template_fields: collections.abc.Sequence[str][源代码]
execute(context)[源代码]

根据可延迟参数异步或同步运行 Pod。

此条目是否有帮助?