

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 组织和监控集群资源
<a name="eks-managing"></a>

本章包含可以帮助您管理集群的以下主题。您还可以使用 AWS 管理控制台 查看有关 [Kubernetes 资源](view-kubernetes-resources.md)的信息。
+ Kubernetes 控制面板是适用于 Kubernetes 集群的基于 Web 的通用用户界面。用户能通过它管理集群中运行的应用程序并对其进行故障排除，以及管理集群本身。有关更多信息，请参阅 GitHub 存储库中的 [Kubernetes 控制面板](https://github.com/kubernetes/dashboard)。
+  [使用 Kubernetes Metrics Server 查看资源使用情况](metrics-server.md) – Kubernetes Metrics Server 是集群中资源使用数据的聚合器。该聚合器并不会默认部署到集群中，而是由 Kubernetes 附加组件（例如 Kubernetes 控制面板和 [使用 Horizontal Pod Autoscaler 扩展容器组（pod）部署](horizontal-pod-autoscaler.md)）使用。在本主题中，您将了解如何安装 Metrics Server。
+  [使用 Helm 在 Amazon EKS 上部署应用程序](helm.md) – Kubernetes 的 Helm 包管理器可帮助您在 Kubernetes 集群上安装和管理应用程序。本主题可帮助您安装并运行 Helm 二进制文件，以便您可以在本地计算机中使用 Helm CLI 安装和管理图表。
+  [使用标签整理 Amazon EKS 资源](eks-using-tags.md) – 为了帮助您管理 Amazon EKS 资源，您可以以*标签*的形式为每个资源分配您自己的元数据。本主题介绍标签并演示如何创建标签。
+  [查看和管理 Amazon EKS 和 Fargate 服务配额](service-quotas.md) – 您的AWS账户对于每项AWS服务都有默认配额（以前称为限制）。了解 Amazon EKS 的配额以及如何增加这些配额。

# 监控和优化 Amazon EKS 集群成本
<a name="cost-monitoring"></a>

成本监控是管理 Amazon EKS 上 Kubernetes 集群的一个重要方面。通过了解集群成本，您可以优化资源利用率，设定预算，并对部署做出数据驱动型决策。Amazon EKS 提供两种成本监控解决方案，每种解决方案都有其独特的优势，可帮助您有效跟踪和分配成本：

 **Amazon EKS 的 AWS 账单拆分成本分配数据** – 此原生功能与 AWS 账单控制台无缝集成，使您能够使用与其它 AWS 服务相同的熟悉界面和工作流来分析和分配成本。通过拆分成本分配，您可以直接了解自己的 Kubernetes 成本以及其他 AWS 支出，从而更轻松地在整个 AWS 环境中全面优化成本。您还可以利用 Cost Categories 和成本异常检测等现有 AWS 账单功能，进一步增强您的成本管理能力。有关更多信息，请参阅《AWS 账单用户指南》中的[了解拆分成本分配数据](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data.html)。

 **Kubecost** ：Amazon EKS 支持 Kubecost，后者是一种 Kubernetes 成本监控工具。Kubecost 提供一种功能丰富的 Kubernetes 原生成本监控方法，提供按 Kubernetes 资源划分的精细成本明细、成本优化建议以及开箱即用的控制面板和报告。Kubecost 还通过与 AWS 成本和使用情况报告集成来检索准确的定价数据，从而确保您精确地了解自己的 Amazon EKS 成本。了解如何[安装 Kubecost](cost-monitoring-kubecost.md#kubecost-overview)。有关获取免费 Kubecost 订阅的信息，请参阅 [Kubecost](https://aws.amazon.com/marketplace/pp/prodview-asiz4x22pm2n2) AWS Marketplace 页面。

# 在 AWS Billing 中使用拆分成本分配功能按容器组（pod）查看成本
<a name="cost-monitoring-aws"></a>

## 使用 Amazon EKS 的 AWS 拆分成本分配数据进行成本监控
<a name="cost_monitoring_using_shared_aws_split_cost_allocation_data_for_amazon_eks"></a>

您可以使用 Amazon EKS 的 AWS 拆分成本分配数据来获得对您的 Amazon EKS 集群的精细的了解。这样可以分析、优化并退还 Kubernetes 应用程序的成本和使用量。您可以根据 Kubernetes 应用程序消耗的 Amazon EC2 CPU 和内存资源，将应用程序成本分配给各个业务部门和团队。Amazon EKS 的拆分成本分配数据便于您了解每个容器组（pod）的成本，并帮助您使用命名空间、集群和其他 Kubernetes 基元汇总每个容器组（pod）的成本数据。以下是可用于分析 Amazon EKS 成本分配数据的 Kubernetes 基元示例。
+ 集群名称
+ 部署
+ 命名空间
+ 节点
+ 工作负载名称
+ 工作负载类型

 此外还支持[用户定义的成本分配标签](https://console.aws.amazon.com/costmanagement/home#/tags)。有关使用拆分成本分配数据的更多信息，请参阅《AWS 账单用户指南》中的[了解拆分成本分配数据](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data.html)。

## 设置成本和使用情况报告
<a name="task-cur-setup"></a>

您可以在成本管理控制台、AWS 命令行界面或 AWS SDK 中启用 ECS 的拆分成本分配数据。

将以下内容用于*拆分成本分配数据*：

1. 选择拆分成本分配数据。有关更多信息，请参阅《AWS 成本和使用情况报告用户指南》中的[启用拆分成本分配数据](https://docs.aws.amazon.com/cur/latest/userguide/enabling-split-cost-allocation-data.html)。

1. 将数据纳入新报告或现有报告。

1. 查看报告。您可以使用账单和成本管理控制台或在 Amazon Simple Storage Service 中查看报告文件。

# 安装 Kubecost
<a name="cost-monitoring-kubecost"></a>

Amazon EKS 支持 Kubecost，您可以使用该功能监控按 Kubernetes 资源 [包括容器组（pod）、节点、命名空间和标签] 细分的成本。本主题将介绍如何安装 Kubecost 和访问 Kubecost 控制面板。

Amazon EKS 提供 AWS 优化版 Kubecost 捆绑包，以便了解集群成本。您可以使用现有的 AWS 支持协议获取支持。有关 Kubecost 可用版本的更多信息，请参阅[了解有关 Kubecost 的更多信息](cost-monitoring-kubecost-bundles.md)。

**注意**  
Kubecost v3 引入了多项重大架构改进，包括显著提升的性能以及增强的自动化功能。[了解有关 Kubecost v3 的更多信息。](cost-monitoring-kubecost-bundles.md#kubecost-v3)  
Kubecost v2 引入了几项重要的新功能。[了解有关 Kubecost v2 的更多信息。](cost-monitoring-kubecost-bundles.md#kubecost-v2)

有关 Kubecost 的更多信息，请参阅 [Kubecost](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x) 文档和[常见问题](cost-monitoring-kubecost-bundles.md#cost-monitoring-faq)。

## 安装 Amazon EKS 优化版 Kubecost 捆绑包
<a name="kubecost-overview"></a>

您可以使用以下过程之一来安装 *Amazon EKS 优化版 Kubecost 捆绑包*：
+ 在开始之前，建议先查看 [Kubecost – 架构概述](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installations-amazon-eks-integration)，以了解 Kubecost 在 Amazon EKS 上的工作原理。
+ 如果您不熟悉 Amazon EKS，我们建议您使用 Amazon EKS 附加组件进行安装，因为它可以简化 *Amazon EKS 优化版 Kubecost 捆绑包*安装。有关更多信息，请参阅 [Deploying Kubecost on an Amazon EKS cluster using Amazon EKS add-on](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installations-amazon-eks-integration#ariaid-title3)。
+ 要自定义安装，您可以使用 Helm 配置 *Amazon EKS 优化版 Kubecost 捆绑包*。有关更多信息，请参阅 *Kubecost 文档*中的 [Deploying Kubecost on an Amazon EKS cluster using Helm](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installations-amazon-eks-integration#ariaid-title8)。

**重要**  
对于 Kubecost v3，Helm 图表的位置已更改为 `public.ecr.aws/kubecost/kubecost`。如果您要从 v2 进行升级，请相应地更新您的 Helm 存储库引用。

**注意**  
对于使用 Kubecost v3 的多集群部署，您需要兼容 S3 的对象存储（适用于 EKS 客户的 AWS S3）来存储指标。这取代了 v2 中使用的与 Prometheus 兼容的存储。有关更多信息，请参阅 Kubecost 文档中的[多集群安装](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation-multi-cluster)。

## 访问 Kubecost 控制面板
<a name="kubecost-access-dashbaard"></a>

*Amazon EKS 优化版 Kubecost 捆绑包*设置完成后，您应该可以访问 Kubecost 控制面板。有关更多信息，请参阅 [访问 Kubecost 控制面板](cost-monitoring-kubecost-dashboard.md)。

# 访问 Kubecost 控制面板
<a name="cost-monitoring-kubecost-dashboard"></a>

## 先决条件
<a name="kubecost-prereqs-dashboard"></a>

1. 确保与 kubecost 相关的容器组（pod）的状态为“正在运行”。

```
kubectl get pods --namespace kubecost
```

## 访问 Kubecost 控制面板
<a name="kubecost-dashboard"></a>

1. 在设备上启用端口转发以公开 Kubecost 控制面板。
   + 如果 kubecost v3 是使用 helm 安装的：

     ```
     kubectl port-forward deployment/kubecost-frontend 9090 --namespace kubecost
     ```
   + 如果 kubecost v1 或 v2 是使用 helm 安装的：

     ```
     kubectl port-forward deployment/kubecost-cost-analyzer 9090 --namespace kubecost
     ```
   + 如果 kubecost 是使用 Amazon EKS 附加组件安装的：

     ```
     kubectl port-forward deployment/cost-analyzer 9090 --namespace kubecost
     ```

     您也可以使用 [AWS 负载均衡器控制器](aws-load-balancer-controller.md)公开 Kubecost，并使用 Amazon Cognito 进行身份验证、授权和用户管理。有关更多信息，请参阅[如何使用应用程序负载均衡器和 Amazon Cognito 对您的 Kubernetes Web 应用程序的用户进行身份验证](https://aws.amazon.com/blogs/containers/how-to-use-application-load-balancer-and-amazon-cognito-to-authenticate-users-for-your-kubernetes-web-apps)。

1. 在完成上一步的同一台设备上，打开 Web 浏览器并输入以下地址。

   ```
   http://localhost:9090
   ```

   浏览器将显示“Kubecost 概述”页面。Kubecost 可能需要 5-10 分钟（或更长时间）来收集指标，具体取决于您的集群大小。您可以查看 Amazon EKS 支出，包括累计的集群成本、关联的 Kubernetes 资产成本和每月汇总支出。

1. 要跟踪集群级别的成本，请标记您的 Amazon EKS 资源以进行计费。有关更多信息，请参阅 [标记资源以便于计费](eks-using-tags.md#tag-resources-for-billing)。
   +  **成本分配** – 查看过去七天内每个命名空间和其他维度的 Amazon EKS 月度成本和累计成本。这有助于了解应用程序的哪些部分产生 Amazon EKS 支出。
   +  **资产** – 查看与您的 Amazon EKS 资源关联的 AWS 基础设施资产的成本。

# 了解有关 Kubecost 的更多信息
<a name="cost-monitoring-kubecost-bundles"></a>

Amazon EKS 提供 AWS 优化版 Kubecost 捆绑包，以便了解集群成本。Amazon EKS 支持 Kubecost，您可以使用该功能监控按 Kubernetes 资源 [包括容器组（pod）、节点、命名空间和标签] 细分的成本。

本主题将介绍 Kubecost 的可用版本以及可用套餐之间的区别。EKS 支持 Kubecost 版本 1、版本 2 和版本 3。每个版本都有不同的套餐。您可以为 Amazon EKS 集群使用 *Amazon EKS 优化版 Kubecost 捆绑包*，无需支付额外费用。您可能需要为使用相关 AWS 服务（例如 Amazon Managed Service for Prometheus）付费。同时，您还可以使用现有的 AWS 支持协议获取支持。

作为 Kubernetes 平台管理员和财务主管，您可以使用 Kubecost 可视化 Amazon EKS 费用明细、分配成本以及向应用程序团队等组织部门退款。您可以根据内部团队和业务部门的实际 AWS 账单为其提供透明、准确的成本数据。此外，您还可以根据他们的基础设施环境及其集群内的使用模式获得定制的成本优化建议。有关 Kubecost 的更多信息，请参阅 [Kubecost](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x) 文档。

 **Kubecost 的自定义捆绑包与免费版本的 Kubecost（也称为 OpenCost）之间有何区别？** 

 AWS 与 Kubecost 合作提供了一个自定义版本的 Kubecost。此版本包括一部分商业功能，无需额外付费。有关 Kubecost 的自定义捆绑包中包含的功能，请参阅下表。

## Kubecost v3
<a name="kubecost-v3"></a>

 **Kubecost v2 与 v3 有何区别？** 

Kubecost 3.0 是一项重大架构升级，它提供了显著更快的性能、增强的可扩展性和主动优化功能。最重要的变化是迁移到 ClickHouse 数据库，替换了 2.8 版的 DuckDB，后者大规模提供了更快的查询速度和更可靠的性能。Kubecost 3.0 还引入了一个统一代理，它结合了 Kubecost 和 Cloudability 功能，消除了对 Prometheus 的依赖，减少了内存占用，同时保持了 OpenCost 的兼容性。

**重要**  
 [升级到 v3 前请查看 Kubecost 文档。](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x)从 v2 迁移需要仔细规划，并且可能会在转换期间影响报告的可用性。Helm 图表的位置已更改为 `public.ecr.aws/kubecost/kubecost`。

 **v3 中的主要架构改进：**
+  **ClickHouse 数据库**：取代 DuckDB，以实现更快的查询速度和更好的可扩展性
+  **统一代理**：结合了 Kubecost 和 Cloudability 功能，从而消除了对 Prometheus 的依赖
+  **适用于多集群的 S3 兼容存储**：对于多集群部署，v3 使用与 S3 兼容的对象存储（适用于 EKS 客户的 AWS S3），而不是与 Prometheus 兼容的存储，例如 Amazon Managed Service for Prometheus。FinOps 代理从 Kubernetes API 中提取指标并推送到兼容 S3 的存储，然后聚合器提取该数据，执行派生步骤，并在前端显示结果。有关更多信息，请参阅 Kubecost 文档中的[多集群安装](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation-multi-cluster)和[辅助集群指南](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=cluster-secondary-clusters-guide)。
+  **减少内存占用**：在保持功能的同时大幅降低资源需求
+  **简化的架构**：单容器容器组（pod）拓扑，可实现独立扩展并提高韧性
+  **增强自动化**：通过多集群感知和自定义配置文件进行的自动化容器请求大小调整

 **v3 中经 Amazon EKS 优化的捆绑包益处：**

*经 Amazon EKS 优化的 Kubecost 捆绑包*仍可免费使用，并且不受 Kubecost v3 免费套餐中新增的 10 万美元支出上限的限制。无论支出水平如何，EKS 用户都能完全使用 Kubernetes 所提供的所有支出功能。

 **核心功能对比：**


| 功能 | Kubecost 免费套餐 3.0 | Amazon EKS 优化版 Kubecost 捆绑包 3.0 | Kubecost 企业版 3.0 | 
| --- | --- | --- | --- | 
|  集群成本可见性  |  集群数量不限，设置 30 天内 10 万美元的支出门槛  |  统一多集群，无支出限制  |  在无限数量的环境（即多云）中统一且不限数量的集群  | 
|  数据库后端  |  ClickHouse（本地）  |  ClickHouse 具有兼容 S3 的存储空间，用于存储多集群指标  |  带有自定义数据库选项的 ClickHouse  | 
|  性能  |  与 v2 相比，查询速度大幅提升  |  与 v2 相比，查询速度大幅提升  |  与 v2 相比，查询速度大幅提升  | 
|  内存占用空间  |  与 v2 相比有所降低（不依赖于 Prometheus）  |  与 v2 相比有所降低（不依赖于 Prometheus）  |  与 v2 相比有所降低（不依赖于 Prometheus）  | 
|  自动调整容器请求大小  |  可用（限于 250 个核心）  |  可用，无核心限制  |  可用，无核心限制  | 
|  支出限额  |  30 天内支出 10 万美元  |  没有支出限额  |  没有支出限额  | 
|  多集群自动化  |  有限  |  具有安全消息收发功能的全面多集群感知  |  具有安全消息收发功能的全面多集群感知  | 

## Kubecost v2
<a name="kubecost-v2"></a>

 **Kubecost v1 与 v2 有何区别？** 

Kubecost 2.0 是对先前版本的重大升级，包含了重大新功能，如全新的 API 后端。请注意，[分配](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=apis-allocation-api)和[资产](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=apis-assets-api) API 完全向后兼容。[请查看 Kubecost 文档以确保平稳转换。](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=installation-kubecost-v2-installupgrade)有关增强功能的完整列表，请参阅 [Kubecost v2.0 announcement](https://github.com/kubecost/cost-analyzer-helm-chart/releases/tag/v2.0.0) 和 [the full release notes](https://github.com/kubecost/cost-analyzer-helm-chart/releases)。

**重要**  
 [升级前请查看 Kubecost 文档。](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x)升级可能会影响报告的可用性。

 **核心功能对比：**


| 功能 | Kubecost 免费套餐 2.0 | Amazon EKS 优化版 Kubecost 捆绑包 2.0 | Kubecost 企业版 2.0 | 
| --- | --- | --- | --- | 
|  集群成本可见性  |  最多 250 个核心的无限集群  |  与 Amazon Managed Service for Prometheus 集成时的统一多集群，无核心限制  |  在无限数量的环境（即多云）中统一且不限数量的集群  | 
|  部署  |  用户托管  |  用户托管  |  用户托管、Kubecost 托管（专用租户）、SaaS  | 
|  支持的数据库  |  本地 Prometheus  |  Amazon Managed Service for Prometheus 或本地 Prometheus  |  任何 Prometheus 风格和自定义数据库  | 
|  数据库保留支持（原始指标）  |  15 天  |  无限历史数据  |  无限历史数据  | 
|  Kubecost API 和 UI 保留率（ETL）  |  15 天  |  15 天  |  无限制  | 
|  混合云可见性  |  -  |  Amazon EKS 和 Amazon EKS Anywhere 集群  |  多云和混合云  | 
|  提醒和定期报告  |  仅在主集群上支持，限制为 250 个核心  |  所有集群上的效率提醒、预算提醒、支出变化提醒及[更多支持](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=navigating-kubecost-ui#ariaid-title6)  |  所有集群上的效率提醒、预算提醒、支出变化提醒及[更多支持](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=navigating-kubecost-ui#ariaid-title6)  | 
|  已保存的报告  |  -  |  使用 15 天指标的报告  |  使用无限历史数据的报告和指标  | 
|  云账单集成  |  仅在主集群上支持，限制为 250 个核心  |  AWS 自定义定价支持（包括多个集群和多个账户）  |  任何云的自定义定价支持  | 
|  节省建议  |  仅在主集群上支持，限制为 250 个核心  |  主集群见解，但没有 250 个核心的限制  |  多集群洞察  | 
|  治理：审计  |  -  |  -  |  审计历史成本事件  | 
|  单点登录（SSO）支持  |  -  |  支持 Amazon Cognito  |  Okta、Auth0、PingID、keyCloak 和其他任何自定义服务  | 
|  使用 SAML 2.0 的基于角色的访问控制（RBAC）  |  -  |  -  |  Okta、Auth0、PingID、keyCloak 和其他任何自定义服务  | 
|  企业培训和引导  |  -  |  -  |  全方位服务培训和 FinOps 引导  | 
|  团队  |  -  |  -  |  是  | 

 **新功能：**

以下功能有指标限制：
+ Kubecost 聚合器
+ 网络监控
+ Kubecost 操作
+ 集合
+ 异常检测
+ 合理调整容器请求大小
+ Kubecost 预测
+ 用于筛选和聚合的自动完成功能

 **指标限制：**


| 指标 | Kubecost 免费套餐 2.0 | Amazon EKS 优化版 Kubecost 捆绑包 2.0 | Kubecost 企业版 2.0 | 
| --- | --- | --- | --- | 
|  集群大小  |  最多 250 个核心的无限集群  |  无限制  |  无限制  | 
|  指标保留  |  15 天  |  15 天  |  无限制  | 
|  多集群支持  |  不可用  |  可用  |  可用  | 
|  核心限制  |  每个集群 250 个核心  |  没有核心限制  |  没有核心限制  | 

## Kubecost v1
<a name="kubecost-v1"></a>


| 功能 | Kubecost 免费套餐 | Amazon EKS 优化版 Kubecost 捆绑包 | Kubecost 企业版 | 
| --- | --- | --- | --- | 
|   **部署**   |  用户托管  |  用户托管  |  用户托管或 Kubecost 托管（SaaS）  | 
|   **支持的集群数量**   |  无限制  |  无限制  |  无限制  | 
|   **支持的数据库**   |  本地 Prometheus  |  本地 Prometheus 或 Amazon Managed Service for Prometheus  |  Prometheus、Amazon Managed Service for Prometheus、Cortex 或 Thanos  | 
|   **数据库保留支持**   |  15 天  |  无限历史数据  |  无限历史数据  | 
|   **Kubecost API 保留（ETL）**   |  15 天  |  15 天  |  无限历史数据  | 
|   **集群成本可见性**   |  单个集群  |  统一多集群  |  统一多集群  | 
|   **混合云可见性**   |  -  |  Amazon EKS 和 Amazon EKS Anywhere 集群  |  多云和混合云支持  | 
|   **提醒和定期报告**   |  -  |  支持效率提醒、预算提醒、支出变化提醒等  |  支持效率提醒、预算提醒、支出变化提醒等  | 
|   **保存的报告**   |  -  |  基于 15 天数据的报告  |  基于无限历史数据的报告  | 
|   **云账单集成**   |  每个单独的集群都需要  |  AWS 自定义定价支持（包括多个集群和多个账户）  |  AWS 自定义定价支持（包括多个集群和多个账户）  | 
|   **节省建议**   |  单集群洞察  |  单集群洞察  |  多集群洞察  | 
|   **治理：审计**   |  -  |  -  |  审计历史成本事件  | 
|   **单点登录（SSO）支持**   |  -  |  支持 Amazon Cognito  |  Okta、Auth0、PingID、keyCloak  | 
|   **使用 SAML `2.0` 的基于角色的访问控制（RBAC）**   |  -  |  -  |  Okta、Auth0、PingID、keyCloak  | 
|   **企业培训和引导**   |  -  |  -  |  全方位服务培训和 FinOps 引导  | 

## 常见问题
<a name="cost-monitoring-faq"></a>

请参阅以下有关将 Kubecost 与 Amazon EKS 结合使用的常见问题和答案。

 **什么是 Kubecost API 保留（ETL）功能？** 

Kubecost ETL 功能可汇总和组织各种指标，以显示不同粒度级别的成本可见性（例如 `namespace-level`、`pod-level` 和 `deployment-level`）。对于 *Amazon EKS 优化版 Kubecost 捆绑包*，客户可以获得最近 15 天的指标数据和见解。

 **什么是提醒和定期报告功能？ 它包括哪些提醒和报告？** 

借助 Kubecost 提醒，团队可以实时获得有关 Kubecost 支出和云支出的动态。借助定期报告，团队能够获得有关历史 Kubecost 和云支出的自定义视图。这两者都可以使用 Kubecost UI 或 Helm 值来配置。它们支持电子邮件、Slack 和 Microsoft Teams。

 **保存的报告包含哪些内容？** 

Kubecost 保存的报告是有关成本和效率指标的预定义视图。其中包括按集群、命名空间、标签等划分的成本。

 **什么是云账单集成？** 

通过与 AWS 账单 API 集成，可让 Kubecost 显示集群之外的成本（例如 Amazon S3 成本）。此外，通过这种集成，还可让 Kubecost 根据实际账单核对 Kubecost 的集群内预测，从而可以考虑竞价型实例使用情况、节省计划和企业折扣。

 **节省建议包含哪些内容？** 

Kubecost 提供了相关的洞察和自动功能，可帮助用户优化其 Kubernetes 基础设施和支出。

 **此功能是否收费？** 

不收费。无需支付额外费用，您就能使用 *Amazon EKS 优化版 Kubecost 捆绑包*。如果您需要未包括在此捆绑包中的其他 Kubecost 功能，则可以通过 AWS Marketplace 购买 Kubecost 企业许可证，也可以直接从 Kubecost 购买。

 **是否支持 *Amazon EKS 优化版 Kubecost 捆绑包*？** 

支持，但前提是您使用的是 *Amazon EKS 优化版 Kubecost 捆绑包*。

 **如何支持 *Amazon EKS 优化版 Kubecost 捆绑包*？** 

您可以通过[联系 AWS](https://aws.amazon.com/contact-us/) 借助 AWS 支持团队打开支持案例。

 **我是否需要许可证才能使用 Amazon EKS 集成提供的 Kubecost 功能？** 

否。

 **我是否可以将 Kubecost 与 AWS 成本和使用情况报告集成，以获得更准确的报告？** 

可以。您可以将 Kubecost 配置为从 AWS 成本和使用情况报告中摄取数据，以获取准确的成本可见性，包括折扣、竞价型定价、预留实例定价，以及其他内容。有关更多信息，请参阅 Kubecost 文档中的 [AWS 云账单集成](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=integrations-aws-cloud-billing-integration)。

 **此版本是否支持 Amazon EC2 上自行管理的 Kubernetes 集群的成本管理？** 

不支持。*Amazon EKS 优化版 Kubecost 捆绑包*仅与 Amazon EKS 集群兼容。

 **Kubecost 是否能够追踪 AWS Fargate 上的 Amazon EKS 的成本？** 

Kubecost 已尽最大努力显示 Fargate 上的 Amazon EKS 的集群成本可见性，但准确性低于 Amazon EC2 上的 Amazon EKS。这主要是由于您的使用量的计费方式不同。使用 Fargate 上的 Amazon EKS，将针对消耗的资源为您计费。使用 Amazon EC2 节点上的 Amazon EKS，将根据预配置的资源为您计费。Kubecost 将根据节点规格（包括 CPU、RAM 和临时存储）来计算 Amazon EC2 节点的成本。使用 Fargate，将根据为 Fargate 容器组（pod）请求的资源计算成本。

 **我如何获得 Kubecost 的更新和新版本？** 

您可以使用标准的 Helm 升级程序升级您的 Kubecost 版本。对于 Kubecost v3 版本，最新版本可在新的 Helm 图表位置 `public.ecr.aws/kubecost/kubecost` 获取。之前的版本（v1 和 v2）仍在 [Amazon ECR 公开映像浏览馆](https://gallery.ecr.aws/kubecost/cost-analyzer)中提供。

**重要**  
升级到 Kubecost v3 版本时，请注意 Helm 图表的位置已从 `public.ecr.aws/kubecost/cost-analyzer` 更改为 `public.ecr.aws/kubecost/kubecost`。相应地更新您的 Helm 存储库引用。

 **是否支持 `kubectl-cost` CLI？ 我如何安装它？** 

支持。`Kubectl-cost` 是一个通过 Kubecost（Apache 2.0 许可证）使用的开源工具，提供针对 Kubernetes 成本分配指标的 CLI 访问权限。要安装 `kubectl-cost`，请参阅 GitHub 上的[安装](https://github.com/kubecost/kubectl-cost#installation)。

 **是否支持 Kubernetes 用户界面？ 我如何访问它？** 

Kubecost 提供了一个 Web 控制面板，您可以通过 `kubectl` 端口转发、入口或负载均衡器访问该控制面板。您也可以使用 AWS 负载均衡器控制器公开 Kubecost，并使用 Amazon Cognito 进行身份验证、授权和用户管理。有关更多信息，请参阅 AWS 博客上的[如何使用应用程序负载均衡器和 Amazon Cognito 对您的 Kubernetes Web 应用程序的用户进行身份验证](https://aws.amazon.com/blogs/containers/how-to-use-application-load-balancer-and-amazon-cognito-to-authenticate-users-for-your-kubernetes-web-apps)。

 **Kubecost v3 版本中新的 10 万美元支出限额会影响 Amazon EKS 用户吗？** 

否。Kubecost v3 免费套餐中引入的 30 天内的 10 万美元的支出限额不适用于*经 Amazon EKS 优化的 Kubecost 捆绑包*用户。无论支出水平如何，EKS 用户都能完全使用 Kubernetes 所提供的所有支出功能。

 **Kubecost v3 版本中有哪些主要的性能改进？** 

Kubecost v3 版本通过其 ClickHouse 数据库后端引入了显著的性能改进，与 v2.8 版本中使用的 DuckDB 相比，该后端提供的查询速度要快得多。此外，统一代理架构消除了对 Prometheus 的依赖，从而减少了内存占用，同时仍能保持完整的功能以及与 OpenCost 的兼容性。

 **Kubecost v3 版本将什么存储后端用于多集群部署？** 

Kubecost v3 版本使用兼容 S3 的对象存储（适用于 EKS 客户的 AWS S3）进行多集群指标存储，以替代 v2 中使用的兼容 Prometheus 的存储。FinOps 代理从 Kubernetes API 中收集指标并将其推送到兼容 S3 的存储。然后，聚合器会检索这些数据，进行成本计算，并在前端显示计算结果。有关多集群设置的详细说明，请参阅 Kubecost 文档中的[多集群安装](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation-multi-cluster)和[辅助集群指南](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=cluster-secondary-clusters-guide)。

 **我可以直接从 Kubecost v1 升级到 v3 版本吗？** 

否。不支持从 v1 直接升级到 v3。必须先升级到 v2，然后再迁移到 v3。查看 Kubecost 文档以获取详细的迁移指导，因为该过程需要精心规划，并且在转换期间可能会对报告的可用性造成影响。

## 其他 Kubecost 功能
<a name="kubecost-additional"></a>
+ Kubecost v1、v2 和 v3 版本均提供以下功能。
  +  **导出成本指标**：经 Amazon EKS 优化的成本监控会随 Kubecost 一同部署。在 v1 和 v2 版本中，Kubecost 与 Prometheus 集成，用于指标存储和处理。在 v3 版本中，Kubecost 使用 ClickHouse 数据库来显著提高性能，同时保持 OpenCost 的兼容性。对于 v3 版本中的多集群部署，指标存储在兼容 S3 的对象存储（适用于 EKS 客户的 AWS S3）中，而不是兼容 Prometheus 的存储。Kubecost 读取指标，执行成本分配计算，并通过其 API 和用户界面提供相关数据。架构会因版本不同而有所变化，但其功能始终保持一致。  
![\[Kubecost 架构\]](http://docs.aws.amazon.com/zh_cn/eks/latest/userguide/images/kubecost-architecture.png)

    您可以编写查询，以将 Kubecost 数据提取到当前的商业智能系统，进行进一步分析。您也可以将其用作当前 [Grafana](https://grafana.com/) 控制面板的数据来源，以显示您的内部团队熟悉的 Amazon EKS 集群成本。要了解有关如何编写查询的更多信息，请参阅 [OpenCost 配置](https://opencost.io/docs/installation/prometheus/)文档或使用 [Kubecost Github 存储库](https://github.com/kubecost/cost-analyzer-helm-chart/tree/develop/cost-analyzer)中的示例 Grafana JSON 模型作为参考。
  +  **AWS 成本和使用情况报告集成** – 为了对 Amazon EKS 集群执行成本分配计算，Kubecost 会从 AWS 价目表 API 中检索 AWS 服务和 AWS 资源的公开定价信息。您还可以将 Kubecost 和 **AWS 成本和使用情况报告**集成，以提高特定于 AWS 账户的定价信息的准确性。这些信息包括企业折扣计划、预留实例使用情况、Savings Plans 以及 Spot 使用情况。要了解有关 AWS 成本和使用情况报告集成工作原理的更多信息，请参阅 Kubecost 文档中的 [AWS 云账单集成](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=integrations-aws-cloud-billing-integration)。

# 使用 Kubernetes Metrics Server 查看资源使用情况
<a name="metrics-server"></a>

Kubernetes Metrics Server 是集群中资源使用数据的聚合器，默认不会部署在 Amazon EKS 集群中。有关更多信息，请参阅 GitHub 上的 [Kubernetes Metrics Server](https://github.com/kubernetes-sigs/metrics-server)。Metrics Server 通常由其他 Kubernetes 附加组件使用，例如[使用 Horizontal Pod Autoscaler 扩展容器组（pod）部署](horizontal-pod-autoscaler.md)或 [Kubernetes 控制面板](eks-managing.md)。有关详细信息，请参阅 Kubernetes 文档中的[资源指标管道](https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/)。本主题介绍了如何在您的 Amazon EKS 集群上部署 Kubernetes Metrics Server。

**重要**  
这些指标是用于时间点分析，不是历史分析的准确来源。它们不能用作监控解决方案或用于其它非自动扩缩目的。有关监控工具的信息，请参阅 [监控集群性能并查看日志](eks-observe.md)。

## 注意事项
<a name="_considerations"></a>
+ 如果使用清单将 Kubernetes Metrics Server 手动部署到 Fargate 节点，请将 `metrics-server` 部署配置为使用除默认端口 `10250` 以外的端口。此端口为 Fargate 保留。Metrics Server 的 Amazon EKS 附加组件版本已预配置为使用端口 `10251`。
+ 确保安全组和网络 ACL 允许 `metrics-server` 容器组（pod）与所有其他节点和容器组（pod）之间的端口 `10250`。Kubernetes Metrics Server 仍使用端口 `10250` 从集群中的其他端点收集指标。如果在 Fargate 节点上部署，请同时允许已配置的 Metrics Server 备用端口和端口 `10250`。

## 将 Amazon EKS 附加组件作为社区附加组件部署
<a name="_deploy_as_community_add_on_with_amazon_eks_add_ons"></a>

 **新增：您现在可以使用 AWS 控制台或 Amazon EKS API 将 Metrics Server 部署为社区附加组件。**

### 使用 AWS 控制台部署
<a name="deploy_with_shared_aws_console"></a>

1. 在 AWS 控制台中打开 EKS 集群

1. 在“附加组件”选项卡中，选择**获取更多附加组件**。

1. 从“社区附加组件”部分中选择 **Metrics Server**，然后选择**下一步** 

1. EKS 可确定适合集群的附加组件。您可以使用**版本**下拉菜单更改版本。

1. 选择**下一步**，然后选择**创建**以安装此附加组件。

### 其他资源
<a name="_additional_resources"></a>

了解有关 [社区附加组件](community-addons.md) 的更多信息。

您可以像安装或更新其他 Amazon EKS 附加组件一样安装或更新社区附加组件。
+  [创建 Amazon EKS 附加组件](creating-an-add-on.md) 
+  [更新 Amazon EKS 附加组件](updating-an-add-on.md) 
+  [从集群中移除 Amazon EKS 附加组件](removing-an-add-on.md) 

## 使用清单部署
<a name="_deploy_with_manifest"></a>

 **新增：您现在可以使用 AWS 控制台或 Amazon EKS API 将 Metrics Server 部署为社区附加组件。这些清单安装说明将被存档。**

1. 使用以下命令部署 Metrics Server：

   ```
   kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
   ```

   如果您使用的是 Fargate，则需要更改此文件。在默认配置中，指标服务器使用端口 10250。此端口在 Fargate 上保留。将 components.yaml 中对端口 10250 的引用替换为其他端口，例如 10251。

1. 使用以下命令验证 `metrics-server` 部署是否运行所需数量的容器组（pod）。

   ```
   kubectl get deployment metrics-server -n kube-system
   ```

   示例输出如下。

   ```
   NAME             READY   UP-TO-DATE   AVAILABLE   AGE
   metrics-server   1/1     1            1           6m
   ```

1. 通过显示节点的资源（CPU/内存）使用情况来测试 Metrics Server 是否正常工作。

   ```
   kubectl top nodes
   ```

1. 如果您收到错误消息 `Error from server (Forbidden)`，则需要更新 Kubernetes RBAC 配置。您的 Kubernetes RBAC 身份需要具有足够的权限才能读取集群指标。在 GitHub 上查看[读取指标所需的最低 Kubernetes API 权限](https://github.com/kubernetes-sigs/metrics-server/blob/e285375a49e3bf77ddd78c08a05aaa44f2249ebd/manifests/base/rbac.yaml#L5C9-L5C41)。了解如何[向 AWS IAM 身份（例如角色）授予对 Kubernetes API 的访问权限](grant-k8s-access.md#authentication-modes)。

# 使用 Helm 在 Amazon EKS 上部署应用程序
<a name="helm"></a>

Kubernetes 的 Helm 包管理器可帮助您在 Kubernetes 集群上安装和管理应用程序。有关更多信息，请参阅 [Helm 文档](https://docs.helm.sh/)。本主题可帮助您安装并运行 Helm 二进制文件，以便您可以在本地系统中使用 Helm CLI 安装和管理图表。

**重要**  
您必须先将 `kubectl` 配置为用于 Amazon EKS，然后才能在 Amazon EKS 集群上安装 Helm Chart。如果您尚未执行此操作，请参阅[通过创建 kubeconfig 文件将 kubectl 连接到 EKS 集群](create-kubeconfig.md)后再继续。如果集群的以下命令成功，说明您已正确配置。  

```
kubectl get svc
```

1. 运行适用于您的客户端操作系统的命令。
   + 如果您将 macOS 与 [Homebrew](https://brew.sh/) 结合使用，请使用以下命令安装二进制文件。

     ```
     brew install helm
     ```
   + 有关更多安装选项，请参阅 Helm 文档中的[安装 Helm](https://helm.sh/docs/intro/install/)。
**注意**  
如果您收到一条消息，显示必须首先安装 `openssl`，则可以使用以下命令进行安装。

```
sudo yum install openssl
```

1. 要在 `PATH` 中选择新的二进制文件，请关闭当前的终端窗口，然后打开一个新窗口。

1. 查看您已安装的 Helm 版本。

   ```
   helm version --template='{{ .Version }}{{ "\n" }}'
   ```

   示例输出如下。

   ```
   v3.17.2
   ```

1. 确保安装的版本与您的集群版本兼容。查看[支持的版本偏差](https://helm.sh/docs/topics/version_skew/#supported-version-skew)以了解更多信息。例如，如果您使用 `3.17.x` 运行，则支持的 Kubernetes 版本不应超出 `1.29.x` \$1 `1.32.x` 的范围。

1. 此时，您可以运行任何 Helm 命令（例如 `helm install chart-name `），以便安装、修改、删除或查询您的集群中的 Helm Chart。如果您刚接触 Helm，并且没有要安装的特定图表，则可以：
   + 通过安装示例图表来进行试验。请参阅 Helm [快速入门指南](https://helm.sh/docs/intro/quickstart/)中的[安装示例图表](https://helm.sh/docs/intro/quickstart#install-an-example-chart)。
   + 创建示例图表并将其推送至 Amazon ECR。有关更多信息，请参阅 *Amazon Elastic Container Registry 用户指南*中的[推送 Helm Chart](https://docs.aws.amazon.com/AmazonECR/latest/userguide/push-oci-artifact.html)。
   + 从 [eks-charts](https://github.com/aws/eks-charts#eks-charts) GitHub 存储库或从 [ArtifactHub](https://artifacthub.io/packages/search?page=1&repo=aws) 中安装 Amazon EKS 图表。

# 使用标签整理 Amazon EKS 资源
<a name="eks-using-tags"></a>

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

**Topics**
+ [有关标签的基本知识](#tag-basics)
+ [标记您的资源](#tag-resources)
+ [标签限制](#tag-restrictions)
+ [标记资源以便于计费](#tag-resources-for-billing)
+ [通过控制台使用标签](#tag-resources-console)
+ [通过 CLI、API 或 `eksctl` 使用标签](#tag-resources-api-sdk)

**注意**  
标签是一种与 Kubernetes 标签和注释分开的元数据。有关这些其他元数据类型的更多信息，请参阅 Kubernetes 文档中的以下各节：  
 [标签和选择器](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) 
 [Annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) 

## 有关标签的基本知识
<a name="tag-basics"></a>

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

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

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

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

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

## 标记您的资源
<a name="tag-resources"></a>

以下 Amazon EKS 资源支持标签：
+ 集群
+ 托管节点组
+ Fargate 配置文件

您可以使用以下内容标记这些资源：
+ 如果您使用的是 Amazon EKS 控制台，可以随时对新的或现有的资源应用标签。您可以使用相关资源页面上的**标签**选项卡执行此操作。有关更多信息，请参阅 [通过控制台使用标签](#tag-resources-console)。
+ 如果您使用的是 `eksctl`，可以在使用 `--tags` 选项创建资源时为资源应用标签。
+ 如果您使用的是 AWS CLI、Amazon EKS API 或 AWS SDK，则可以使用相关 API 操作上的 `tags` 参数对新资源应用标签。您也可以通过使用 `TagResource` API 操作将标签应用于现有资源。有关更多信息，请参阅 [TagResource](https://docs.aws.amazon.com/eks/latest/APIReference/API_TagResource.html)。

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

标签不会传播到与您创建的资源关联的其它资源。例如，Fargate 配置文件标签不会传播到与 Fargate 配置文件关联的其他资源，比如使用配置文件调度的容器组（pod）。

## 标签限制
<a name="tag-restrictions"></a>

以下限制适用于标签：
+ 一个资源最多可以关联 50 个标签。
+ 不能对一个资源重复使用标签键。每个标签键必须具有唯一性，而且只能有一个值。
+ 键最长可达 128 个字符（采用 UTF-8 格式）。
+ 值最长可达 256 个字符（采用 UTF-8 格式）。
+ 如果有多个 AWS 服务和资源使用您的标记方案，请限制您使用的字符类型。某些服务可能对允许使用的字符有限制。通常允许使用的字符包括字母、数字、空格以及以下字符：`+` `-` `=` `.` `_` `:` `/` `@`。
+ 标签键和值区分大小写。
+ 请不要使用 `aws:`、` AWS:` 或任何大写或小写组合（例如，键或值的前缀）。这些字符串保留供AWS使用。无法编辑或删除带此前缀的标签键或值。具有此前缀的标签不计入每个资源的标签数限制。

## 标记资源以便于计费
<a name="tag-resources-for-billing"></a>

将标签应用于 Amazon EKS 集群时，您可以使用它们在**成本和使用情况报告**中进行成本分配。**成本和使用情况报告**中的计量数据显示了所有 Amazon ECS 集群的使用情况。有关更多信息，请参阅 *AWS Billing 用户指南*中的[AWS 成本和使用情况报告](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-reports-costusage.html)。

通过 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 用户指南*中的[月度成本分配报告](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html)。

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

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

## 通过控制台使用标签
<a name="tag-resources-console"></a>

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

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

您还可以在 AWS 管理控制台 中使用**标签编辑器**，它为管理标签提供了统一的方法。有关更多信息，请参阅 *AWS 标签编辑器用户指南*中的[使用标签编辑器为 AWS 资源添加标签](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)。

### 在创建时为资源添加标签
<a name="adding-tags-creation"></a>

您可以在创建 Amazon EKS 集群、托管节点组和 Fargate 配置文件时，为它们添加标签。有关更多信息，请参阅 [创建一个 Amazon EKS 集群。](create-cluster.md)。

### 为资源添加和删除标签
<a name="adding-or-deleting-tags"></a>

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

1. 打开 [Amazon EKS 控制台](https://console.aws.amazon.com/eks/home#/clusters)。

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

1. 在左侧导航窗格中，选择**集群**。

1. 选择特定集群。

1. 选择**标签**选项卡，然后选择**管理标签**。

1. 在 **Manage tags**（管理标签）页面上，根据需要添加或删除标签。
   + 要添加标签，请选择 **Add tag**（添加标签）。然后，指定每个标签的键和值。
   + 要删除标签，请选择 **Remove tag**（删除标签）。

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

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

## 通过 CLI、API 或 `eksctl` 使用标签
<a name="tag-resources-api-sdk"></a>

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


| Task |  AWS CLI |  AWS Tools for Windows PowerShell | API 操作 | 
| --- | --- | --- | --- | 
|  添加或覆盖一个或多个标签。  |   [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/eks/tag-resource.html)   |   [Add-EKSResourceTag](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EKSResourceTag.html)   |   [TagResource](https://docs.aws.amazon.com/eks/latest/APIReference/API_TagResource.html)   | 
|  删除一个或多个标签。  |   [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/eks/untag-resource.html)   |   [Remove-EKSResourceTag](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EKSResourceTag.html)   |   [UntagResource](https://docs.aws.amazon.com/eks/latest/APIReference/API_UntagResource.html)   | 

以下示例说明如何使用 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](https://docs.aws.amazon.com/cli/latest/reference/eks/create-cluster.html)   |   [New-EKSCluster](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EKSCluster.html)   |   [CreateCluster](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateCluster.html)   |   `create cluster`   | 
|  创建托管节点组\$1  |   [create-nodegroup](https://docs.aws.amazon.com/cli/latest/reference/eks/create-nodegroup.html)   |   [New-EKSNodegroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EKSNodegroup.html)   |   [CreateNodegroup](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateNodegroup.html)   |   `create nodegroup`   | 
|  创建 Fargate 配置文件  |   [create-fargate-profile](https://docs.aws.amazon.com/cli/latest/reference/eks/create-fargate-profile.html)   |   [New-EKSFargateProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EKSFargateProfile.html)   |   [CreateFargateProfile.html](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateFargateProfile.html)   |   `create fargateprofile`   | 
+ 如果您还想在创建托管节点组时为 Amazon EC2 实例添加标签，请使用启动模板创建托管节点组。有关更多信息，请参阅 [为 Amazon EC2 实例添加标签](launch-templates.md#launch-template-tagging)。如果您的实例已经存在，您可以手动为实例添加标签。有关更多信息，请参阅《Amazon EC2 用户指南》中的[标记您的资源](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources)。

# 查看和管理 Amazon EKS 和 Fargate 服务配额
<a name="service-quotas"></a>

Amazon EKS 已与服务配额集成，后者是一项 AWS 服务，您可以使用该服务从中心位置查看和管理您的配额。有关更多信息，请参阅《服务配额用户指南》中的 [What Is Service Quotas?](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html)**。借助服务配额集成，您可以使用 AWS 管理控制台 和 AWS 快速查找 Amazon EKS 和 AWS Fargate 服务配额的值。

## 在 AWS 管理控制台中查看 EKS 服务配额
<a name="service-quotas-console"></a>

1. 打开[服务配额控制台](https://console.aws.amazon.com/servicequotas/home/services/eks/quotas)。

1. 在左侧导航窗格中，选择 **AWS 服务**。

1. 从 **AWS 服务**列表中，搜索并选择 **Amazon Elastic Kubernetes Service（Amazon EKS）** 或 **AWS Fargate**。

   在**服务配额**列表中，您可以查看服务配额名称、应用的值（如果该值可用）、AWS 默认配额以及配额值是否可调整。

1. 要查看有关服务配额的其他信息（如描述），请选择配额名称。

1. （可选）要请求增加配额，请选择要增加的配额，选择 **Request quota increase（请求增加配额）**，输入或选择所需信息，然后选择 **Request（请求）**。

要使用 AWS 管理控制台 进一步处理服务配额，请参阅[服务配额用户指南](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html)。要请求提高配额，请参阅《Service Quotas 用户指南》**中的[请求提高配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

## 使用 AWS CLI 查看 EKS 服务配额
<a name="view_eks_service_quotas_with_the_shared_aws_cli"></a>

运行以下命令查看您的 Amazon EKS 配额。

```
aws service-quotas list-aws-default-service-quotas \
    --query 'Quotas[*].{Adjustable:Adjustable,Name:QuotaName,Value:Value,Code:QuotaCode}' \
    --service-code eks \
    --output table
```

运行以下命令查看您的 Fargate 配额。

```
aws service-quotas list-aws-default-service-quotas \
    --query 'Quotas[*].{Adjustable:Adjustable,Name:QuotaName,Value:Value,Code:QuotaCode}' \
    --service-code fargate \
    --output table
```

**注意**  
返回的配额是当前 AWS 区域中此账户下可在 Fargate 上并发运行的 Amazon ECS 任务或 Amazon EKS 容器组（pod）的数量。

要使用 AWS CLI 进一步处理服务配额，请参阅《AWS CLI 命令参考》**中的[服务配额](https://docs.aws.amazon.com/cli/latest/reference/service-quotas/index.html)。要请求提高配额，请参阅《AWS CLI 命令参考》**中的 [request-service-quota-increase](https://docs.aws.amazon.com/cli/latest/reference/service-quotas/request-service-quota-increase.html) 命令。

## Amazon EKS 服务配额
<a name="sq-text"></a>

 AWS 建议使用 AWS 管理控制台查看当前配额。有关更多信息，请参阅 [在 AWS 管理控制台中查看 EKS 服务配额](#service-quotas-console)。

要查看默认 EKS 服务配额，请参阅《AWS General Reference》**中的 [Amazon Elastic Kubernetes Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/eks.html#limits_eks)。

这些服务配额列于服务配额控制台中 **Amazon Elastic Kubernetes Service（Amazon EKS）**下。对于显示为可调整的值，要请求提高配额，请参阅《服务配额用户指南》中的 [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)**。

**注意**  
服务配额**不**支持调整以下组件：\$1 每个集群的容器组身份关联。有关限制，请参阅[了解 EKS 容器组身份如何向容器组（pod）授予对 AWS 服务的访问权限](pod-identities.md)。\$1 用于远程节点网络的 CIDR 或用于混合节点的远程容器组网络。有关限制，请参阅[Amazon EKS 混合节点功能概述](hybrid-nodes-overview.md)。

## AWS Fargate 服务配额
<a name="service-quotas-eks-fargate"></a>

服务配额控制台中的 **AWS Fargate** 服务列出了多个服务配额。您可以配置警报，以在用量接近服务配额时向您发出警报。有关更多信息，请参阅 [创建 CloudWatch 警报以监控 Fargate 资源使用情况指标](monitoring-fargate-usage.md#service-quota-alarm)。

新 AWS 账户的初始配额可能较低，但会随着时间的推移而增加。Fargate 会持续监控每个 AWS 区域内的账户使用情况，然后根据使用情况自动增加配额。对于显示为可调整的值，您还可以请求提高限额。有关更多信息，请参阅《服务配额用户指南》中的 [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)**。

 AWS 建议使用 AWS 管理控制台查看当前配额。有关更多信息，请参阅 [在 AWS 管理控制台中查看 EKS 服务配额](#service-quotas-console)。

要查看 EKS 服务配额相关默认 AWS Fargate，请参阅《AWS General Reference》**中的 [Fargate service quotas](https://docs.aws.amazon.com/general/latest/gr/eks.html#service-quotas-eks-fargate)。

**注意**  
此外，Fargate 还强制执行 Amazon ECS 任务和 Amazon EKS 容器组（pod）启动率限额。有关更多信息，请参阅《Amazon ECS 指南》**中的 [AWS Fargate 节流配额](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/throttling.html)。