# 无法获取 CPU 利用率：无法获取资源 CPU 的指标：无法从资源指标 API 获取指标：服务器找不到请求的资源（get pods.metrics.k8s.io）

- **ID:** `kubernetes/horizontal-pod-autoscaler-missing-metrics`
- **领域:** kubernetes
- **类别:** runtime_error
- **验证级别:** ai_generated
- **修复率:** 92%

## 根因

metrics-server（或自定义指标适配器）未安装或未正常运行，导致 Horizontal Pod Autoscaler 无法检索 CPU/内存指标。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| kubernetes 1.27 | active | — | — |
| metrics-server 0.6 | active | — | — |
| metrics-server 0.7 | active | — | — |

## 解决方案

1. ```
   使用 `kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml` 部署 metrics-server。验证其运行：`kubectl get pods -n kube-system | grep metrics-server`。检查日志错误：`kubectl logs -n kube-system deployment/metrics-server`。
   ```
2. ```
   运行 `kubectl get apiservices.apiregistration.k8s.io | grep metrics` 查看 `v1beta1.metrics.k8s.io` 或 `v1beta1.custom.metrics.k8s.io` 是否可用。如果不可用，确保 metrics-server 部署健康且其服务端点可达。
   ```

## 无效尝试

- **** — Changing the target doesn't fix the missing metrics API; the HPA still can't get any data. (95% 失败率)
- **** — The HPA controller is not the source of metrics; it relies on the metrics API which is unavailable. (90% 失败率)
- **** — Conflicting adapters can cause API registration issues; the correct approach is to ensure only one metrics provider is active. (50% 失败率)
