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, region=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), waiter_delay=30, waiter_max_attempts=40, **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.eks.EksHook
]创建 Amazon EKS 集群控制平面。
可选地,也可以创建支持的计算架构
- 如果参数 ‘compute’ 的值为 ‘nodegroup’,也将
尝试为集群创建一个 Amazon EKS 管理节点组。请参阅
EksCreateNodegroupOperator
文档以了解要求。
- 如果参数 ‘compute’ 的值为 ‘fargate’,也将尝试创建一个 AWS
Fargate 配置文件。请参阅
EksCreateFargateProfileOperator
文档以了解要求。
另请参阅¶
有关如何使用此运算符的更多信息,请参阅指南: 创建 Amazon EKS 集群
- 参数:
cluster_name (str) – 为您的 Amazon EKS 集群指定的唯一名称。(templated)
cluster_role_arn (str) – IAM 角色的 Amazon 资源名称 (ARN),该角色提供 Kubernetes 控制平面代表您调用 AWS API 操作的权限。(templated)
resources_vpc_config (dict) – 集群控制平面使用的 VPC 配置。(templated)
compute (str | None) – 与集群一起生成的计算架构类型。(templated) 默认为 ‘nodegroup’ 以生成 EKS 管理节点组。
create_cluster_kwargs (dict | None) – 传递给 CreateCluster API 的可选参数 (templated)
wait_for_completion (bool) – 如果为 True,则等待运算符完成。(default: False) (templated)
aws_conn_id – 用于 AWS 凭据的 Airflow 连接。如果为
None
或为空,则使用默认的 boto3 行为。如果以分布式方式运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。region_name – AWS region_name。如果未指定,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
如果 compute 被赋值为 ‘nodegroup’
- 参数:
如果 compute 被赋值为 ‘fargate’
- 参数:
fargate_profile_name (str) – REQUIRED 为您的 AWS Fargate 配置文件指定的唯一名称。(templated)
fargate_pod_execution_role_arn (str | None) – REQUIRED 用于与 AWS Fargate 配置文件中的选择器匹配的 Pod 的 Pod 执行角色的 Amazon 资源名称 (ARN)。(templated)
fargate_selectors (list | None) – 用于匹配使用此 AWS Fargate 配置文件的 Pod 的选择器。(templated)
create_fargate_profile_kwargs (dict | None) – 传递给 CreateFargateProfile API 的可选参数 (templated)
waiter_delay (int) – 两次连续调用之间等待检查集群状态的时间(秒)
waiter_max_attempts (int) – 检查集群状态的最大尝试次数
deferrable (bool) – 如果为 True,运算符将异步等待作业完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(default: False)
- template_fields: collections.abc.Sequence[str][source]¶
- 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, region=None, waiter_delay=30, waiter_max_attempts=80, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.eks.EksHook
]为现有的 Amazon EKS 集群创建 Amazon EKS 管理节点组。
另请参阅¶
有关如何使用此运算符的更多信息,请参阅指南: 创建 Amazon EKS 管理节点组
- 参数:
cluster_name (str) – 要在其中创建管理节点组的 Amazon EKS 集群的名称。(templated)
nodegroup_name (str) – 为您的管理节点组指定的唯一名称。(templated)
nodegroup_subnets (list[str] | str) – 用于为管理节点组创建的 Auto Scaling 组的子网。(templated)
nodegroup_role_arn (str) – 与管理节点组关联的 IAM 角色的 Amazon 资源名称 (ARN)。(templated)
create_nodegroup_kwargs (dict | None) – 传递给 Create Nodegroup API 的可选参数 (templated)
wait_for_completion (bool) – 如果为 True,则等待运算符完成。(default: False) (templated)
aws_conn_id – 用于 AWS 凭据的 Airflow 连接。如果为
None
或为空,则使用默认的 boto3 行为。如果以分布式方式运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。region_name – AWS region_name。如果未指定,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
waiter_delay (int) – 两次连续调用之间等待检查节点组状态的时间(秒)
waiter_max_attempts (int) – 检查节点组状态的最大尝试次数
deferrable (bool) – 如果为 True,运算符将异步等待节点组创建完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(default: False)
- template_fields: collections.abc.Sequence[str][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, region=None, wait_for_completion=False, waiter_delay=10, waiter_max_attempts=60, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.eks.EksHook
]为 Amazon EKS 集群创建 AWS Fargate 配置文件。
另请参阅¶
有关如何使用此操作符的更多信息,请参阅指南:创建 AWS Fargate 配置文件
- 参数:
cluster_name (str) – 要应用 AWS Fargate 配置文件的 Amazon EKS 集群的名称。(模板化)
pod_execution_role_arn (str) – 与 AWS Fargate 配置文件中的选择器匹配的 Pod 所使用的 Pod 执行角色的 Amazon Resource Name (ARN)。(模板化)
selectors (list) – 要使用此 AWS Fargate 配置文件的 Pod 的匹配选择器。(模板化)
fargate_profile_name (str) – 为您的 AWS Fargate 配置文件指定的唯一名称。(模板化)
create_fargate_profile_kwargs (dict | None) – 传递给 CreateFargate Profile API 的可选参数 (模板化)
wait_for_completion (bool) – 如果为 True,则等待运算符完成。(default: False) (templated)
aws_conn_id – 用于 AWS 凭据的 Airflow 连接。如果为
None
或为空,则使用默认的 boto3 行为。如果以分布式方式运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。region_name – AWS region_name。如果未指定,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
waiter_delay (int) – 两次连续调用检查配置文件状态之间等待的时间(以秒为单位)
waiter_max_attempts (int) – 检查配置文件状态的最大尝试次数。
deferrable (bool) – 如果为 True,操作符将异步等待配置文件的创建。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值: False)
- template_fields: collections.abc.Sequence[str][source]¶
- class airflow.providers.amazon.aws.operators.eks.EksDeleteClusterOperator(cluster_name, force_delete_compute=False, region=None, wait_for_completion=False, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), waiter_delay=30, waiter_max_attempts=40, **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.eks.EksHook
]删除 Amazon EKS 集群控制平面及其附加的所有节点组。
另请参阅¶
有关如何使用此操作符的更多信息,请参阅指南:删除 Amazon EKS 集群
- 参数:
cluster_name (str) – 要删除的 Amazon EKS 集群的名称。(模板化)
force_delete_compute (bool) – 如果为 True,将删除任何关联的资源。(模板化) 默认为 False。
wait_for_completion (bool) – 如果为 True,则等待运算符完成。(default: False) (templated)
aws_conn_id – 用于 AWS 凭据的 Airflow 连接。(模板化) 如果此参数为 None 或空,则使用默认的 boto3 行为。如果在分布式模式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护该配置)。
region (str | None) – 连接应使用的 AWS 区域。(模板化) 如果此参数为 None 或空,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
waiter_delay (int) – 两次连续调用之间等待检查集群状态的时间(秒)
waiter_max_attempts (int) – 检查集群状态的最大尝试次数
deferrable (bool) – 如果为 True,操作符将异步等待集群被删除。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值: False)
- template_fields: collections.abc.Sequence[str][source]¶
- execute(context)[source]¶
创建运算符时派生。
Context 与渲染 jinja 模板时使用的字典相同。
有关更多 context,请参阅 get_template_context。
- delete_any_nodegroups()[source]¶
删除给定 Amazon EKS 集群的所有 Amazon EKS 托管节点组。
Amazon EKS 托管节点组可以并行删除,因此我们可以批量发送所有删除命令,并在节点组数量为零后继续。
- class airflow.providers.amazon.aws.operators.eks.EksDeleteNodegroupOperator(cluster_name, nodegroup_name, region=None, wait_for_completion=False, waiter_delay=30, waiter_max_attempts=40, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.eks.EksHook
]从 Amazon EKS 集群中删除 Amazon EKS 管理节点组。
另请参阅¶
有关如何使用此操作符的更多信息,请参阅指南:删除 Amazon EKS 托管节点组
- 参数:
cluster_name (str) – 与您的节点组关联的 Amazon EKS 集群的名称。(模板化)
nodegroup_name (str) – 要删除的节点组的名称。(模板化)
wait_for_completion (bool) – 如果为 True,则等待运算符完成。(default: False) (templated)
aws_conn_id – 用于 AWS 凭据的 Airflow 连接。(模板化) 如果此参数为 None 或空,则使用默认的 boto3 行为。如果在分布式模式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护该配置)。
region_name – 连接应使用的 AWS 区域。(模板化) 如果此参数为 None 或空,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
waiter_delay (int) – 两次连续调用之间等待检查节点组状态的时间(秒)
waiter_max_attempts (int) – 检查节点组状态的最大尝试次数
deferrable (bool) – 如果为 True,操作符将异步等待节点组被删除。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值: False)
- template_fields: collections.abc.Sequence[str][source]¶
- class airflow.providers.amazon.aws.operators.eks.EksDeleteFargateProfileOperator(cluster_name, fargate_profile_name, region=None, wait_for_completion=False, waiter_delay=30, waiter_max_attempts=60, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.eks.EksHook
]从 Amazon EKS 集群中删除 AWS Fargate 配置文件。
另请参阅¶
有关如何使用此操作符的更多信息,请参阅指南:删除 AWS Fargate 配置文件
- 参数:
cluster_name (str) – 与您的 Fargate 配置文件关联的 Amazon EKS 集群的名称。(模板化)
fargate_profile_name (str) – 要删除的 AWS Fargate 配置文件的名称。(模板化)
wait_for_completion (bool) – 如果为 True,则等待运算符完成。(default: False) (templated)
aws_conn_id – 用于 AWS 凭据的 Airflow 连接。(模板化) 如果此参数为 None 或空,则使用默认的 boto3 行为。如果在分布式模式下运行 Airflow 且 aws_conn_id 为 None 或空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护该配置)。
region_name – 连接应使用的 AWS 区域。(模板化) 如果此参数为 None 或空,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
waiter_delay (int) – 两次连续调用检查配置文件状态之间等待的时间(以秒为单位)
waiter_max_attempts (int) – 检查配置文件状态的最大尝试次数。
deferrable (bool) – 如果为 True,操作符将异步等待配置文件被删除。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值: False)
- template_fields: collections.abc.Sequence[str][source]¶
- 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)[source]¶
基类:
airflow.providers.cncf.kubernetes.operators.pod.KubernetesPodOperator
在指定的 Amazon EKS 集群上的 Kubernetes Pod 中执行任务。
另请参阅¶
有关如何使用此 Operator 的更多信息,请参阅指南:在 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,但这将在该 Provider 的下一个主要版本中更改。
- template_fields: collections.abc.Sequence[str][source]¶