KubernetesCKA认证kubernetes

【K8s 精选】CKA - 如何监视应用程序

2022-03-14  本文已影响0人  熊本极客

资源监控的工具可以检测 NodesPodsService 等资源的统计信息。metric-service 提供的 API metrics.k8s.io 仅能够监控 Node 和 Pod 的 CPU 和内存,而 Prometheus Adapter 提供 API custom.metrics.k8s.io 可以支持任意的 Prometheus 采集到的指标。

1.核心指标

K8S 资源指标监控-部署metrics-server

Kubernetes 默认的 api-version,没有 metrics.k8s.ioexternal.metrics.k8s.io 分组。

$kubectl api-versions
admissionregistration.k8s.io/v1
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1
coordination.k8s.io/v1beta1
discovery.k8s.io/v1beta1
events.k8s.io/v1
events.k8s.io/v1beta1
extensions/v1beta1
flowcontrol.apiserver.k8s.io/v1beta1
networking.k8s.io/v1
networking.k8s.io/v1beta1
node.k8s.io/v1
node.k8s.io/v1beta1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

$kubectl top nodes
error: Metrics API not available
$kubectl top pods
error: Metrics API not available

可以参考如何部署 metrics-server,完成 metrics-server 的安装部署。

2.自定义指标

自定义指标 是由 Prometheus Adapter 提供的 API 分组 custom.metrics.k8s.io,可支持任意 Prometheus 采集到的指标。

说明:k8s 不能直接解析 Prometheus 采集到的 metrics,因为两者数据格式不兼容,还需要另外一个组件 kube-state-metrics 把 Prometheus 的 metrics 数据格式转换成 k8s API 接口能识别的格式。同时由于自定义 API,还需要用 Kubernetes aggregator 在 API 服务器中注册,以便直接通过 /apis/来访问。

Custom Metrics 的部署流程
部署 Node-exporter 组件:Prometheus 的 Agent 端,采集 Node 级别的监控数据。
部署 Prometheus:服务端拉取 Node-exporter 数据并存储为时序数据。
部署 kube-state-metrics: 将 Prometheus 数据转换成【Custom Metrics API】接口格式的数据。
部署 k8s-prometheus-adpater:聚合 APIServer,即提供了一个 APIServer【Custom Metrics API】。
grafana:可视化 Prometheus 获取到的 metrics数据。

上一篇下一篇

猜你喜欢

热点阅读