为您的 Amazon EKS 资源添加标签 - Amazon EKS

为您的 Amazon EKS 资源添加标签

您可以使用标签帮助您管理 Amazon EKS 资源。本主题提供了标签功能的概述,并说明如何创建标签。

注意

标签是一种与Kubernetes 标签和注释分开的元数据。有关这些其他元数据类型的更多信息,请参阅 Kubernetes 文档中的以下各节:

有关标签的基本知识

标签是为AWS资源分配的标记。每个标签都包含一个和一个可选

借助标签,您可以对 AWS 资源进行分类。例如,您可以按用途、所有者或环境对资源进行分类。在您具有相同类型的许多资源时,可以使用分配给特定资源的标签来快速识别该资源。例如,您可以为 Amazon EKS 集群定义一组标签,以帮助您跟踪每个集群的拥有者和堆栈级别。我们建议为每个资源类型设计一组一致的标签键。然后,您可以根据添加的标签搜索和筛选资源。

添加标签后,可以编辑标签键和值,还可以随时删除资源的标签。如果删除资源,资源的所有标签也会被删除。

标签对 Amazon EKS 没有任何语义意义,应严格按字符串进行解析。您可以将标签值设置为空字符串。但是,您不能将标签值设置为 null。如果您添加的标签的键与该资源上现有标签的键相同,则新值会覆盖旧值。

如果您使用的是 AWS Identity and Access Management(IAM),则可以控制您的AWS账户中的哪些用户拥有管理标签的权限。

标记您的资源

以下 Amazon EKS 资源支持标签:

  • 集群

  • 托管节点组

  • Fargate 配置文件

您可以使用以下内容标记这些资源:

  • 如果您使用的是 Amazon EKS 控制台,可以随时对新的或现有的资源应用标签。您可以使用相关资源页面上的标签选项卡执行此操作。有关更多信息,请参阅通过控制台使用标签

  • 如果您使用的是 eksctl,可以在使用 --tags 选项创建资源时为资源应用标签。

  • 如果您使用的是 AWS CLI、Amazon EKS API 或 AWS 开发工具包,则可以使用相关 API 操作上的 tags 参数对新资源应用标签。您也可以通过使用 TagResource API 操作将标签应用于现有资源。有关更多信息,请参阅 TagResource

在您使用一些资源创建操作时,您还可以在创建资源的同时为资源指定标签。如果在创建资源期间无法应用标签,则创建资源会失败。此机制可确保对于您希望标记的资源,要么使用您指定的标签创建,要么完全不创建。如果您在创建资源时标记这些资源,则无需在创建资源后运行自定义标记脚本。

标签不会传播到与您创建的资源关联的其他资源。例如,Fargate 配置文件标签不会传播到与 Fargate 配置文件关联的其他资源,例如使用配置文件调度的 Pods。

标签限制

以下限制适用于标签:

  • 一个资源最多可以关联 50 个标签。

  • 不能对一个资源重复使用标签键。每个标签键必须具有唯一性,而且只能有一个值。

  • 键最长可达 128 个字符(采用 UTF-8 格式)。

  • 值最长可达 256 个字符(采用 UTF-8 格式)。

  • 如果有多个 AWS 服务 和资源使用您的标记方案,请限制您使用的字符类型。某些服务可能对允许使用的字符有限制。通常允许使用的字符包括字母、数字、空格以及以下字符:+ - = . _ : / @

  • 标签键和值区分大小写。

  • 请不要使用 aws:AWS: 或任何大写或小写组合(例如,键或值的前缀)。它们保留供 AWS 使用。无法编辑或删除带此前缀的标签键或值。具有此前缀的标签不计入每个资源的标签数限制。

标记资源以便于计费

将标签应用于 Amazon EKS 集群时,您可以使用它们在成本和使用情况报告中进行成本分配。成本和使用情况报告中的计量数据显示了所有 Amazon ECS 集群的使用情况。有关更多信息,请参阅 AWS Billing 用户指南中的 AWS 成本和使用情况报告

通过 AWS 生成的成本分配标签(特别是 aws:eks:cluster-name),您可以在 Cost Explorer 中按单个 Amazon EKS 集群细分 Amazon EC2 实例成本。但此标签不会捕获控制面板开支。该标签会自动添加到参与 Amazon EKS 集群的 Amazon EC2 实例中。无论实例是使用 Amazon EKS 托管节点组、Karpenter 还是直接通过 Amazon EC2 预调配的,都会发生此行为。此特定标签不会计入 50 个标签的限制。要使用该标签,账户所有者必须在 AWS Billing 控制台中或者通过使用 API 来激活它。当 AWS Organizations 管理账户所有者激活该标签时,还将同时为所有组织成员账户激活该标签。

您还可以根据具有相同标签键值的资源组织您的账单信息。例如,您可以将特定的应用程序名称用作几个资源的标签,然后组织您的账单信息。这样,您可以查看多个服务中使用该应用程序的总成本。有关设置带有标签的成本分配报告的更多信息,请参阅 AWS Billing 用户指南中的月度成本分配报告

注意

如果您刚刚启用报告,则可以在 24 小时后查看当月的数据。

Cost Explorer 是一个报告工具,作为 AWS 免费套餐的一部分提供。您可以使用 Cost Explorer 查看过去 13 个月的 Amazon EKS 资源图表。您还可以预测您在接下来三个月内可能产生的费用。您可以查看您在 AWS 资源上的花费随时间变化的模式。如,您可以使用它来确定需要进一步查询的方面,并查看可用于了解成本的趋势。您还可以指定数据的时间范围,并按天或按月查看时间数据。

通过控制台使用标签

通过使用 Amazon EKS 控制台,您可以管理与新的或现有的集群和托管节点组关联的标签。

当您在 Amazon EKS 控制台中选择特定资源页面时,该页面会显示这些资源的列表。例如,如果您从左侧导航窗格中选择 Clusters(集群),则控制台会显示 Amazon EKS 集群列表。当您从其中一个列表中选择一种支持标签的资源(例如,特定集群)时,您可以在标签选项卡上查看和管理其标签。

您还可以在 AWS Management Console 中使用标签编辑器,它为管理标签提供了统一的方法。有关更多信息,请参阅《AWS 标签编辑器用户指南》中的使用标签编辑器为 AWS 资源添加标签

在创建时为资源添加标签

您可以在创建 Amazon EKS 集群、托管节点组和 Fargate 配置文件时,为它们添加标签。有关更多信息,请参阅创建 Amazon EKS 集群

为资源添加和删除标签

您可以直接从资源的页面中添加或删除与集群关联的标签。

添加或删除单个资源上的标签
  1. 从以下位置打开 Amazon EKS 控制台:https://console.aws.amazon.com/eks/home#/clusters

  2. 在导航栏中,选择要使用的 AWS 区域。

  3. 在左侧导航窗格中,选择集群

  4. 选择特定集群。

  5. 选择标签选项卡,然后选择管理标签

  6. Manage tags(管理标签)页面上,根据需要添加或删除标签。

    • 要添加标签,请选择 Add tag(添加标签)。然后,指定每个标签的键和值。

    • 要删除标签,请选择 Remove tag(删除标签)。

  7. 对要添加或删除的每个标签重复此过程。

  8. 选择 Update (更新) 完成操作。

通过 CLI、API 或 eksctl 使用标签

使用以下 AWS CLI 命令或 Amazon EKS API 操作来添加、更新、列出和删除资源的标签。您只能使用 eksctl 在使用一个命令同时创建新资源的同时添加标签。

Amazon EKS 资源标记支持
Task AWS CLI AWS Tools for Windows PowerShell API 操作

添加或覆盖一个或多个标签。

tag-resource

Add-EKSResourceTag

TagResource

删除一个或多个标签。

untag-resource

Remove-EKSResourceTag

UntagResource

以下示例说明如何使用AWS CLI给资源加标签或取消标签。

示例 1:标记现有集群

以下命令标记现有集群。

aws eks tag-resource --resource-arn resource_ARN --tags team=devs
示例 2:取消标记现有集群

以下命令从现有集群删除标签。

aws eks untag-resource --resource-arn resource_ARN --tag-keys tag_key
示例 3:列出资源的标签

以下命令列出与现有资源关联的标签。

aws eks list-tags-for-resource --resource-arn resource_ARN

在您使用一些资源创建操作时,您可以在创建资源的同时指定标签。以下操作支持在创建资源时指定标签。

Task AWS CLI AWS Tools for Windows PowerShell API 操作 eksctl

创建集群

create-cluster

New-EKSCluster

CreateCluster

create cluster

创建托管节点组*

create-nodegroup

New-EKSNodegroup

CreateNodegroup

create nodegroup

创建 Fargate 配置文件

create-fargate-profile

New-EKSFargateProfile

CreateFargateProfile.html

create fargateprofile

* 如果您还想在创建托管节点组时为 Amazon EC2 实例添加标签,请使用启动模板创建托管节点组。有关更多信息,请参阅为 Amazon EC2 实例添加标签。如果您的实例已经存在,您可以手动为实例添加标签。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的标记您的资源