使用 boto3 库与 Amazon EKS 交互。
模块内容
属性
-
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 托管节点组。
- 参数
-
- 返回
返回有关已删除的 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]