airflow.providers.amazon.aws.hooks.eks
使用 boto3 库与 Amazon EKS 交互。
模块内容
- 
airflow.providers.amazon.aws.hooks.eks.STS_TOKEN_EXPIRES_IN = 60[source]
- 
airflow.providers.amazon.aws.hooks.eks.AUTHENTICATION_API_VERSION = 'client.authentication.k8s.io/v1alpha1'[source]
- 
class airflow.providers.amazon.aws.hooks.eks.ClusterStates[source]
- 基类: - enum.Enum
 - 包含 EKS 集群的可能状态值。 - 
- 
CREATING = 'CREATING'[source]
 - 
- 
ACTIVE = 'ACTIVE'[source]
 - 
- 
DELETING = 'DELETING'[source]
 - 
- 
FAILED = 'FAILED'[source]
 - 
- 
UPDATING = 'UPDATING'[source]
 - 
- 
NONEXISTENT = 'NONEXISTENT'[source]
 
- 
class airflow.providers.amazon.aws.hooks.eks.FargateProfileStates[source]
- 基类: - enum.Enum
 - 包含 AWS Fargate 配置文件的可能状态值。 - 
- 
CREATING = 'CREATING'[source]
 - 
- 
ACTIVE = 'ACTIVE'[source]
 - 
- 
DELETING = 'DELETING'[source]
 - 
- 
CREATE_FAILED = 'CREATE_FAILED'[source]
 - 
- 
DELETE_FAILED = 'DELETE_FAILED'[source]
 - 
- 
NONEXISTENT = 'NONEXISTENT'[source]
 
- 
class airflow.providers.amazon.aws.hooks.eks.NodegroupStates[source]
- 基类: - enum.Enum
 - 包含 EKS 托管节点组的可能状态值。 - 
- 
CREATING = 'CREATING'[source]
 - 
- 
ACTIVE = 'ACTIVE'[source]
 - 
- 
UPDATING = 'UPDATING'[source]
 - 
- 
DELETING = 'DELETING'[source]
 - 
- 
CREATE_FAILED = 'CREATE_FAILED'[source]
 - 
- 
DELETE_FAILED = 'DELETE_FAILED'[source]
 - 
- 
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 Resource Name (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 Resource Name (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) – Pod 执行角色的 Amazon Resource Name (ARN),用于与 Fargate 配置文件中的选择器匹配的 Pod。 
- selectors (list) – 用于匹配使用此 Fargate 配置文件的 Pod 的选择器。 
 
- 返回:
- 返回有关已创建的 Fargate 配置文件的描述性信息。 
- 返回类型:
- dict 
 
 - 
- 
delete_cluster(name)[source]
- 删除 Amazon EKS 集群控制平面。 - 
- 参数:
- name (str) – 要删除的集群的名称。 
- 返回:
- 返回有关已删除的 EKS 集群的描述性信息。 
- 返回类型:
- dict 
 
 - 
- 
delete_nodegroup(clusterName, nodegroupName)[source]
- 从指定的集群中删除 Amazon EKS 托管节点组。 - 
- 参数:
- 
- 返回:
- 返回有关已删除的 EKS 托管节点组的描述性信息。 
- 返回类型:
- dict 
 
 - 
- 
delete_fargate_profile(clusterName, fargateProfileName)[source]
- 从指定的 Amazon EKS 集群中删除 AWS Fargate 配置文件。 - 
- 参数:
- 
- 返回:
- 返回有关已删除的 Fargate 配置文件的描述性信息。 
- 返回类型:
- dict 
 
 - 
- 
describe_cluster(name, verbose=False)[source]
- 返回有关 Amazon EKS 集群的描述性信息。 - 
- 参数:
- 
- 返回:
- 返回有关特定 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 配置文件的当前状态。 - 
- 参数:
- 
- 返回:
- 返回给定 AWS Fargate 配置文件的当前状态。 
- 返回类型:
- FargateProfileStates 
 
 - 
- 
get_nodegroup_state(clusterName, nodegroupName)[source]
- 返回给定 Amazon EKS 托管节点组的当前状态。 - 
- 参数:
- 
- 返回:
- 返回给定 Amazon EKS 节点组的当前状态。 
- 返回类型:
- NodegroupStates 
 
 - 
- 
list_clusters(verbose=False)[source]
- 列出您的 AWS 账户中的所有 Amazon EKS 集群。 - 
- 参数:
- verbose (bool) – 如果设置为 True,则提供额外的日志记录。默认为 False。 
- 返回:
- 包含集群名称的列表。 
- 返回类型:
- list 
 
 - 
- 
list_nodegroups(clusterName, verbose=False)[source]
- 列出与指定集群关联的所有 Amazon EKS 托管节点组。 - 
- 参数:
- 
- 返回:
- 给定集群中节点组名称的列表。 
- 返回类型:
- list 
 
 - 
- 
list_fargate_profiles(clusterName, verbose=False)[source]
- 列出与指定集群关联的所有 AWS Fargate 配置文件。 - 
- 参数:
- 
- 返回:
- 给定集群中的 Fargate 配置文件名称列表。 
- 返回类型:
- list 
 
 - 
- 
generate_config_file(eks_cluster_name, pod_namespace)[source]
- 根据 EKS 集群写入 kubeconfig 文件。 - 
- 参数:
- 
 
 - 
- 
fetch_access_token_for_cluster(eks_cluster_name)[source]
-