airflow.providers.amazon.aws.hooks.eks

使用 boto3 库与 Amazon EKS 交互。

模块内容

ClusterStates

包含 EKS 集群的可能状态值。

FargateProfileStates

包含 AWS Fargate 配置文件的可能状态值。

NodegroupStates

包含 EKS 托管节点组的可能状态值。

EksHook

与 Amazon Elastic Kubernetes Service (EKS) 交互。

属性

DEFAULT_PAGINATION_TOKEN

STS_TOKEN_EXPIRES_IN

AUTHENTICATION_API_VERSION

COMMAND

airflow.providers.amazon.aws.hooks.eks.DEFAULT_PAGINATION_TOKEN = ''[源代码]
airflow.providers.amazon.aws.hooks.eks.STS_TOKEN_EXPIRES_IN = 60[源代码]
airflow.providers.amazon.aws.hooks.eks.AUTHENTICATION_API_VERSION = 'client.authentication.k8s.io/v1alpha1'[源代码]
class airflow.providers.amazon.aws.hooks.eks.ClusterStates[源代码]

基类: enum.Enum

包含 EKS 集群的可能状态值。

CREATING = 'CREATING'[源代码]
ACTIVE = 'ACTIVE'[源代码]
DELETING = 'DELETING'[源代码]
FAILED = 'FAILED'[源代码]
UPDATING = 'UPDATING'[源代码]
NONEXISTENT = 'NONEXISTENT'[源代码]
class airflow.providers.amazon.aws.hooks.eks.FargateProfileStates[源代码]

基类: enum.Enum

包含 AWS Fargate 配置文件的可能状态值。

CREATING = 'CREATING'[源代码]
ACTIVE = 'ACTIVE'[源代码]
DELETING = 'DELETING'[源代码]
CREATE_FAILED = 'CREATE_FAILED'[源代码]
DELETE_FAILED = 'DELETE_FAILED'[源代码]
NONEXISTENT = 'NONEXISTENT'[源代码]
class airflow.providers.amazon.aws.hooks.eks.NodegroupStates[源代码]

基类: enum.Enum

包含 EKS 托管节点组的可能状态值。

CREATING = 'CREATING'[源代码]
ACTIVE = 'ACTIVE'[源代码]
UPDATING = 'UPDATING'[源代码]
DELETING = 'DELETING'[源代码]
CREATE_FAILED = 'CREATE_FAILED'[源代码]
DELETE_FAILED = 'DELETE_FAILED'[源代码]
DEGRADED = 'DEGRADED'[source]
NONEXISTENT = 'NONEXISTENT'[source]
airflow.providers.amazon.aws.hooks.eks.COMMAND = Multiline-String[source]
显示值
"""
            output=$({python_executable} -m airflow.providers.amazon.aws.utils.eks_get_token                 --cluster-name {eks_cluster_name} {args} 2>&1)

            if [ $? -ne 0 ]; then
                echo "Error running the script"
                exit 1
            fi

            expiration_timestamp=$(echo "$output" | grep -oP 'expirationTimestamp: \K[^,]+')
            token=$(echo "$output" | grep -oP 'token: \K[^,]+')

            json_string=$(printf '{{"kind": "ExecCredential","apiVersion":                 "client.authentication.k8s.io/v1alpha1","spec": {{}},"status":                 {{"expirationTimestamp": "%s","token": "%s"}}}}' "$expiration_timestamp" "$token")
            echo $json_string
            """
class airflow.providers.amazon.aws.hooks.eks.EksHook(*args, **kwargs)[source]

基类: airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook

与 Amazon Elastic Kubernetes Service (EKS) 交互。

提供对 boto3.client("eks") 的简单封装。

可以指定其他参数(例如 aws_conn_id),这些参数将传递给底层的 AwsBaseHook。

client_type = 'eks'[source]
create_cluster(name, roleArn, resourcesVpcConfig, **kwargs)[source]

创建一个 Amazon EKS 控制平面。

参数
  • name (str) – 为您的 Amazon EKS 集群提供的唯一名称。

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

  • resourcesVpcConfig (dict) – 集群控制平面使用的 VPC 配置。

返回

返回有关已创建的 EKS 集群的描述性信息。

返回类型

dict

create_nodegroup(clusterName, nodegroupName, subnets, nodeRole, *, tags=None, **kwargs)[source]

为 Amazon EKS 集群创建一个 Amazon EKS 托管节点组。

参数
  • clusterName (str) – 在其中创建 EKS 托管节点组的 Amazon EKS 集群的名称。

  • nodegroupName (str) – 为您的托管节点组提供的唯一名称。

  • subnets (list[str]) – 用于为您的节点组创建的 Auto Scaling 组的子网。

  • nodeRole (str | None) – 要与您的节点组关联的 IAM 角色的 Amazon 资源名称 (ARN)。

  • tags (dict | None) – 应用于您的节点组的可选标签。

返回

返回有关已创建的 EKS 托管节点组的描述性信息。

返回类型

dict

create_fargate_profile(clusterName, fargateProfileName, podExecutionRoleArn, selectors, **kwargs)[source]

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

参数
  • clusterName (str) – 要将 Fargate 配置文件应用于的 Amazon EKS 集群的名称。

  • fargateProfileName (str | None) – Fargate 配置文件的名称。

  • podExecutionRoleArn (str | None) – 用于与 Fargate 配置文件中的选择器匹配的 Pod 的 Pod 执行角色的 Amazon 资源名称 (ARN)。

  • selectors (list) – 要匹配以使用此 Fargate 配置文件的 Pod 的选择器。

返回

返回有关已创建的 Fargate 配置文件的描述性信息。

返回类型

dict

delete_cluster(name)[source]

删除 Amazon EKS 集群控制平面。

参数

name (str) – 要删除的集群的名称。

返回

返回有关已删除的 EKS 集群的描述性信息。

返回类型

dict

delete_nodegroup(clusterName, nodegroupName)[source]

从指定的集群中删除 Amazon EKS 托管节点组。

参数
  • clusterName (str) – 与您的节点组关联的 Amazon EKS 集群的名称。

  • nodegroupName (str) – 要删除的节点组的名称。

返回

返回有关已删除的 EKS 托管节点组的描述性信息。

返回类型

dict

delete_fargate_profile(clusterName, fargateProfileName)[source]

从指定的 Amazon EKS 集群中删除 AWS Fargate 配置文件。

参数
  • clusterName (str) – 与要删除的 Fargate 配置文件关联的 Amazon EKS 集群的名称。

  • fargateProfileName (str) – 要删除的 Fargate 配置文件的名称。

返回

返回有关已删除的 Fargate 配置文件的描述性信息。

返回类型

dict

describe_cluster(name, verbose=False)[source]

返回有关 Amazon EKS 集群的描述性信息。

参数
  • name (str) – 要描述的集群的名称。

  • verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。

返回

返回有关特定 EKS 集群的描述性信息。

返回类型

dict

describe_nodegroup(clusterName, nodegroupName, verbose=False)[source]

返回有关 Amazon EKS 托管节点组的描述性信息。

参数
  • clusterName (str) – 与节点组关联的 Amazon EKS 集群的名称。

  • nodegroupName (str) – 要描述的节点组的名称。

  • verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。

返回

返回有关特定 EKS 节点组的描述性信息。

返回类型

dict

describe_fargate_profile(clusterName, fargateProfileName, verbose=False)[source]

返回有关 AWS Fargate 配置文件的描述性信息。

参数
  • clusterName (str) – 与 Fargate 配置文件关联的 Amazon EKS 集群的名称。

  • fargateProfileName (str) – 要描述的 Fargate 配置文件的名称。

  • verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。

返回

返回有关 AWS Fargate 配置文件的描述性信息。

返回类型

dict

get_cluster_state(clusterName)[source]

返回给定 Amazon EKS 集群的当前状态。

参数

clusterName (str) – 要检查的集群的名称。

返回

返回给定 Amazon EKS 集群的当前状态。

返回类型

ClusterStates

get_fargate_profile_state(clusterName, fargateProfileName)[source]

返回给定 AWS Fargate 配置文件的当前状态。

参数
  • clusterName (str) – 与 Fargate 配置文件关联的 Amazon EKS 集群的名称。

  • fargateProfileName (str) – 要检查的 Fargate 配置文件的名称。

返回

返回给定 AWS Fargate 配置文件的当前状态。

返回类型

FargateProfileStates

get_nodegroup_state(clusterName, nodegroupName)[source]

返回给定 Amazon EKS 托管节点组的当前状态。

参数
  • clusterName (str) – 与节点组关联的 Amazon EKS 集群的名称。

  • nodegroupName (str) – 要检查的节点组的名称。

返回

返回给定 Amazon EKS 节点组的当前状态。

返回类型

NodegroupStates

list_clusters(verbose=False)[source]

列出您的 AWS 账户中的所有 Amazon EKS 集群。

参数

verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。

返回

包含集群名称的列表。

返回类型

list

list_nodegroups(clusterName, verbose=False)[source]

列出与指定集群关联的所有 Amazon EKS 托管节点组。

参数
  • clusterName (str) – 包含要列出的节点组的 Amazon EKS 集群的名称。

  • verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。

返回

给定集群中的节点组名称列表。

返回类型

list

list_fargate_profiles(clusterName, verbose=False)[source]

列出与指定集群关联的所有 AWS Fargate 配置文件。

参数
  • clusterName (str) – 包含要列出的 Fargate 配置文件的 Amazon EKS 集群的名称。

  • verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。

返回

给定集群中的 Fargate 配置文件名称列表。

返回类型

list

generate_config_file(eks_cluster_name, pod_namespace)[source]

写入给定 EKS 集群的 kubeconfig 文件。

参数
  • eks_cluster_name (str) – 要为其生成 kubeconfig 文件的集群的名称。

  • pod_namespace (str | None) – 要在 Kubernetes 中运行的命名空间。

fetch_access_token_for_cluster(eks_cluster_name)[source]

此条目是否有帮助?