kube-state-metrics是将k8s的运行状况在内存中做了个快照,并且获取新的指标,但他没有能力导出这些指标 2)kube-state-metrics可以监控的指标 CronJob Metrics DaemonSet Metrics Deployment Metrics Job Metrics LimitRange Metrics Node Metrics PersistentVolume Metrics PersistentVolumeClaim Metrics Pod Metrics ReplicaSet ...
1. prometheus部署在k8s集群内部,然后通过prometheus的联邦模式接入外部的prometheus 2. prometheus部署在k8s集群外部,但是这种方式需要在集群中部署一个采集的组件:kube-state-metrics。这个用于采集和暴露k8s集群的metrics,它负责监听 K8s apiserver 从而生成metrics数据,指标数据通过/metrics暴露,然后在外部的prometheus里添加...
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: kube-state-metrics namespace: monitoring spec: replicas: 1 template: metadata: labels: app: kube-state-metrics spec: serviceAccountName: kube-state-metrics containers: - name: kube-state-metrics image: anjia0532/google-containers.kub...
name: kube-state-metrics subjects:-kind: ServiceAccount name: kube-state-metricsnamespace: kube-system---apiVersion: v1 kind: Service metadata: annotations: prometheus.io/scrape:'true'name: kube-state-metricsnamespace: kube-system labels: app: kube-state-metrics spec: type: NodePort ports:- ...
想要监控k8s比较全面的资源指标,我们需要在集群内安装相应的exports,这要借助cadvisor,kube-state-metrics cadvisor: 集成在kubelet内,不需要单独去安装了,它可以收集集群内容器的cpu,内存等指标 kube-state-metrics: 轮询api-server,监听 add delete update等事件,换句话说 光有cadvisor这些基本指标去监控,维度是不够的...
如果我们对集群内部的 Prometheus 自动发现 Kubernetes 的数据比较熟悉的话,那么监控外部集群的原理也是一样的,只是访问 APIServer 的形式有 inCluster 模式变成了 KubeConfig 的模式,inCluster 模式下在 Pod 中就已经自动注入了访问集群的 token 和 ca.crt 文件,所以非常方便,那么在集群外的话就需要我们手动提供这两...
replacement: /metrics/cadvisor # 抓取服务端点,整个这个任务都是用来发现node-exporter和kube-state-metrics-service的,这里用的是endpoints角色,这是通过这两者的service来发现 # 的后端endpoints。另外需要说明的是如果满足采集条件,那么在service、POD中定义的labels也会被采集进去 ...
kubectldescribe secret -n kube-monitoring prometheus-token-jxv4z 将token 信息保存到一个名为k8s.token的文本文件中 第三步、配置Prometheus 现在我们添加一个 Prometheus 监控外部Kubernetes集群数据的任务,如下所示 在Prometheus的机器上进行添加 (1) 获取apiserver地址 ...
$ kubectl get po -n kube-system | grep metrics metrics-server-694db48df9-6vmn2 1/1 Running 0 3m57s $ kubectl logs metrics-server-789c77976-w7dzh -n kube-system I0129 12:33:27.461161 1 serving.go:312] Generated self-signed cert (/tmp/apiserver.crt, /tmp/apiserver.key) ...
name: kube-state-metrics namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/cluster-service: "true" name: kube-state-metrics