admin 管理员组

文章数量: 1086019


2024年3月25日发(作者:getresources翻译)

kube-state-metrics 用法

kube-state-metrics 是一个用于监视 Kubernetes 集群中对象的指

标库,它通过查询 Kubernetes API 并转换对象的状态信息为

Prometheus 可以识别的指标形式。kube-state-metrics 可以提供

关于 Pod、Node、Service、ReplicaSet、Deployment 等

Kubernetes 对象的指标。

使用 kube-state-metrics 需要先安装和部署该组件。可以通过以

下步骤来使用 kube-state-metrics:

1. 下载 kube-state-metrics 的发布包,并解压缩到一个目录中。

2. 创建一个 `` 配置文件,并将以下内容

保存到文件中:

```yaml

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: kube-state-metrics

name: kube-state-metrics

namespace: monitoring

spec:

replicas: 1

selector:

matchLabels:

app: kube-state-metrics

template:

metadata:

labels:

app: kube-state-metrics

spec:

containers:

- name: kube-state-metrics

image: /coreos/kube-state-metrics:v1.9.8

ports:

- containerPort: 8080

args:

- ---address=:8080

- ---address=:8081

```

3. 应用配置文件,执行命令:`kubectl apply -f kube-state-

`

部署完成后,kube-state-metrics 将会运行在 `monitoring` 命名

空间中。

完成部署后,可以通过访问 `

IP>:8080/metrics` 来获取 kube-state-metrics 的指标数据。

同时,可以配置 Prometheus 通过 `kube-state-metrics` 的接口来

采集这些指标数据。具体配置方式可以参考 Prometheus 的配

置文件中的 `scrape_configs` 配置项。如下所示:

```yaml

scrape_configs:

- job_name: 'kube-state-metrics'

kubernetes_sd_configs:

- role: endpoints

relabel_configs:

- source_labels: [__meta_kubernetes_service_name,

__meta_kubernetes_namespace]

action: keep

regex: kube-state-metrics;monitoring

- source_labels: []

target_label: __address__

replacement: ring:8080

- source_labels: []

target_label: __scheme__

replacement: http

```

完成 Prometheus 的配置后,kube-state-metrics 的指标数据将会

自动被采集并存入 Prometheus 的时间序列数据库中,从而可

以在 Grafana 中进行展示和分析。


本文标签: 指标 部署 数据 对象 配置