

 **帮助改进此页面** 

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

# 使用 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)。