From 49005139826fc3c4cf2e1ebe6928076b1d682236 Mon Sep 17 00:00:00 2001 From: zhangx501 Date: Sun, 1 Sep 2019 19:57:42 +0800 Subject: [PATCH] Create zh-trans:resource-metrics-pipeline.md (#16076) * Create zh-trans:resource-metrics-pipeline.md * Update zh-trans:resource-metrics-pipeline.md --- .../zh-trans:resource-metrics-pipeline.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 content/zh/docs/tasks/debug-application-cluster/zh-trans:resource-metrics-pipeline.md diff --git a/content/zh/docs/tasks/debug-application-cluster/zh-trans:resource-metrics-pipeline.md b/content/zh/docs/tasks/debug-application-cluster/zh-trans:resource-metrics-pipeline.md new file mode 100644 index 0000000000..149f58f7d5 --- /dev/null +++ b/content/zh/docs/tasks/debug-application-cluster/zh-trans:resource-metrics-pipeline.md @@ -0,0 +1,105 @@ +--- +reviewers: +- fgrzadkowski +- piosz +title: 资源指标管道 +content_template: templates/concept +--- + + +{{% capture overview %}} + + +从 Kubernetes 1.8开始,资源使用指标,例如容器 CPU 和内存使用率,可通过 Metrics API 在 Kubernetes 中获得。这些指标可以直接被用户访问,比如使用`kubectl top`命令行,或者这些指标由集群中的控制器使用,例如,Horizontal Pod Autoscaler,使用这些指标来做决策。 + +{{% /capture %}} + + +{{% capture body %}} + + +## Metrics API + + +通过 Metrics API,您可以获得指定节点或 pod 当前使用的资源量。此 API 不存储指标值,因此想要获取某个指定节点10分钟前的资源使用量是不可能的。 + + +此 API 与其他 API 没有区别: + + +- 此 API 和其它 Kubernetes API 一起位于同一端点(endpoint)之下,是可发现的,路径为`/apis/metrics.k8s.io/` +- 它提供相同的安全性、可扩展性和可靠性保证 + + +Metrics API 在[k8s.io/metrics](https://github.com/kubernetes/metrics/blob/master/pkg/apis/metrics/v1beta1/types.go) +仓库中定义。您可以在那里找到有关 Metrics API 的更多信息。 + + +{{< note >}} +Metrics API 需要在集群中部署 Metrics Server。否则它将不可用。 +{{< /note >}} + + +## Metrics Server + + +[Metrics Server](https://github.com/kubernetes-incubator/metrics-server)是集群范围资源使用数据的聚合器。 +从 Kubernetes 1.8开始,它作为 Deployment 对象,被默认部署在由`kube-up.sh`脚本创建的集群中。 +如果您使用不同的 Kubernetes 安装方法,则可以使用提供的[deployment yamls](https://github.com/kubernetes-incubator/metrics-server/tree/master/deploy)来部署。它在 Kubernetes 1.7+中得到支持(详见下文)。 + + +Metric server 从每个节点上的 [Kubelet](/docs/admin/kubelet/) 公开的 Summary API 中采集指标信息。 + + +通过在主 API server 中注册的 Metrics Server [Kubernetes 聚合器](/docs/concepts/api-extension/apiserver-aggregation/) 来采集指标信息, 这是在 Kubernetes 1.7 中引入的。 + + +在[设计文档](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md)中可以了解到有关 Metrics Server 的更多信息。 + +{{% /capture %}}