airflow.providers.amazon.aws.operators.eks
¶
此模块包含 Amazon EKS 操作符。
模块内容¶
类¶
创建 Amazon EKS 集群控制平面。 |
|
为现有 Amazon EKS 集群创建 Amazon EKS 托管节点组。 |
|
为 Amazon EKS 集群创建 AWS Fargate 配置文件。 |
|
删除 Amazon EKS 集群控制平面及其附加的所有节点组。 |
|
从 Amazon EKS 集群删除 Amazon EKS 托管节点组。 |
|
从 Amazon EKS 集群删除 AWS Fargate 配置文件。 |
|
在指定的 Amazon EKS 集群上的 Kubernetes pod 中执行任务。 |
属性¶
- 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]¶
- 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”
- 参数
如果 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',...[源代码]¶
- 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]¶
- 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]¶
- 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')[源代码]¶
- delete_any_nodegroups(eks_hook)[源代码]¶
删除为提供的 Amazon EKS 集群管理的所有 Amazon EKS 托管节点组。
Amazon EKS 托管节点组可以并行删除,因此我们可以批量发送所有删除命令,并在节点组计数为零时继续执行。
- 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')[源代码]¶
- 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')[源代码]¶
- 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][源代码]¶