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]¶