为您的 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,会自动添加到参与 Amazon EKS 集群的 Amazon EC2 实例中。即使资源不是通过 Amazon EKS 托管节点组启动的,也会添加此标签。此标签不计入您可以与资源关联的 50 个标签限制。要按单个 Amazon EKS 集群细分 Amazon EC2 成本,账户所有者必须在 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 Resource Groups 和标签用户指南》中的使用标签编辑器

在创建时为资源添加标签

您可以在创建 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 资源标记支持
任务 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

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

任务 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 用户指南中的标记您的资源