1.5 K8s部署之metric Server&cadvisor
从Kubernetes v1.8 开始,资源使用情况的监控可以通过 Metrics API的形式获取,例如容器CPU和内存使用率。这些度量可以由用户直接访问(例如,通过使用kubectl top命令),或者由集群中的控制器(例如,Horizontal Pod Autoscaler)使用来进行决策,具体的组件为Metrics Server,用来替换之前的heapster,heapster从1.11开始逐渐被废弃。
Metrics-Server是集群核心监控数据的聚合器。通俗地说,它存储了集群中各节点的监控数据,并且提供了API以供分析和使用。Metrics-Server作为一个 Deployment对象默认部署在Kubernetes集群中。不过准确地说,它是Deployment,Service,ClusterRole,ClusterRoleBinding,APIService,RoleBinding等资源对象的综合体。

metric-server主要用来通过aggregate api向其它组件(kube-scheduler、HorizontalPodAutoscaler、kubectl集群客户端等)提供集群中的pod和node的cpu和memory的监控指标,弹性伸缩中的podautoscaler就是通过调用这个接口来查看pod的当前资源使用量来进行pod的扩缩容的。
需要注意的是:
- metric-server提供的是实时的指标(实际是最近一次采集的数据,保存在内存中),并没有数据库来存储。
- 这些数据指标并非由metric-server本身采集,而是由每个节点上的cadvisor采集,metric-server只是发请求给cadvisor并将metric格式的数据转换成aggregate api
- 由于需要通过aggregate api来提供接口,需要集群中的kube-apiserver开启该功能(开启方法可以参考官方社区的文档)
项目地址:https://github.com/kubernetes-sigs/metrics-server
下载地址:https://github.com/kubernetes-sigs/metrics-server/releases 下载components.yaml文件
- gcr镜像使用阿里云的代理:
sed -i 's#k8s.gcr.io#registry.aliyuncs.com/google_containers#g' components.yaml
- 修改 metrics-server 启动参数和镜像
--kubelet-insecure-tls,表示不验证客户端证书。防止 metrics server 访问kubelet(cAdvisor)采集指标时报证书问题(x509: certificate signed by unknown authority)--kubelet-preferred-address-types=InternalIP,防止报错: dial tcp: lookup k8s-master01 on 10.96.0.10:53: no such host
containers:
- name: metrics-server
image: gcr.azk8s.cn/google_containers/metrics-server-amd64:v0.3.6
args:
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
- 部署:
kubectl apply -f components.yaml
- 等待一小段时间(确保 metrics-server 采集到了 node 和 pod 的 metrics 指标数据),通过下面的命令检验一下:
kubectl top pod --all-namespaces
kubectl top node
Metrics server定时从Kubelet的Summary API(类似/api/v1/nodes/nodename/stats/summary)采集指标信息,这些聚合过的数据将存储在内存中,且以metric-api的形式暴露出去。
Metrics server复用了api-server的库来实现自己的功能,比如鉴权、版本等,为了实现将数据存放在内存中吗,去掉了默认的etcd存储,引入了内存存储(即实现Storage interface)。
因为存放在内存中,因此监控数据是没有持久化的,可以通过第三方存储来拓展。
来看下Metrics-Server的架构:

从 Kubelet、cAdvisor 等获取度量数据,再由metrics-server提供给 Dashboard、HPA 控制器等使用。本质上metrics-server相当于做了一次数据的转换,把cadvisor格式的数据转换成了kubernetes的api的json格式。由此我们不难猜测,metrics-server的代码中必然存在这种先从metric中获取接口中的所有信息,再解析出其中的数据的过程。我们给metric-server发送请求时,metrics-server中已经定期从中cadvisor获取好数据了,当请求发过来时直接返回缓存中的数据。
Metrics-Server通过kubelet获取监控数据,严格讲,是从kubelet的cAdvisor。
在1.7版本之前,k8s在每个节点都安装了一个叫做cAdvisor的程序,负责获取节点和容器的CPU,内存等数据;而在1.7版本及之后,k8s将cAdvisor精简化内置于kubelet中,因此可直接从kubelet中获取数据。

Metrics-Server通过metrics API提供监控数据。
先说下API聚合机制(kube-aggregater),API聚合机制是kubernetes 1.7版本引入的特性,能将用户扩展的API注册至API Server上。
API Server在此之前只提供kubernetes资源对象的API,包括资源对象的增删查改功能。有了API聚合机制之后,用户可以发布自己的API,而Metrics-Server用到的metrics API和custom metrics API均属于API聚合机制的应用。
kubernetes的新监控体系中,metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成,后续文章将对自定义指标进行解析。
用户可通过配置APIService资源对象以使用API聚合机制(API聚合机制详解请参考:Kubernetes APIService资源),如下是metrics API的配置文件:
apiVersion: apiregistration.k8s.io/v1beta1
kind: APIService
metadata:
name: v1beta1.metrics.k8s.io
spec:
service:
name: metrics-server
namespace: kube-system
group: metrics.k8s.io
version: v1beta1
insecureSkipTLSVerify: true
groupPriorityMinimum: 100
versionPriority: 100
如上,APIService提供了一个名为v1beta1.metrics.k8s.io的API,并绑定至一个名为metrics-server的Service资源对象。
可以通过kubectl get apiservices命令查询集群中的APIService。
因此,访问Metrics-Server的方式如下:

/apis/metrics.k8s.io/v1beta1 ---> metrics-server.kube-system.svc ---> x.x.x.x
+---------+ +-----------+ +------------------------+ +-----------------------------+
| 发起请求 +----->+ API Server +----------------->+ Service:metrics-server +-------->+ Pod:metrics-server-xxx-xxx |
+---------+ +-----------+ +------------------------+ +-----------------------------+
有了访问Metrics-Server的方式,HPA,kubectl top等对象就可以正常工作了。
cAdvisor对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数--cadvisor-port可以定义cAdvisor对外提供服务的端口,默认为4194。可以通过浏览器访问。项目主页:http://github.com/google/cadvisor 。

- 从节点的目录文件中获取Machine相关的监控数据,例如节点的内存、CPU、磁盘等Metric;
- 从Cgroup中获取容器相关的监控数据的Metric;
- 使用ps命令获取进程相关的数据,以API的形式对外提供。说明:Metric-Server就是请求该API获取的相关Metric数据。
cAdvisor提供的容器相关Metric以container_开头;节点相关的Metric以machine_开头;
1.cAvisor简介:
cAdvisor是Google开源的容器资源监控和性能分析工具,它是专门为容器而生,在Kubernetes中,我们不需要单独去安装,cAdvisor作为kubelet内置的一部分程序可以直接使用,也就是我们可以直接使用cadvisor采集数据,可以采集到和容器运行相关的所有指标,单独安装cAdvisor时的数据路径为/api/v1/nodes/[节点名称]/proxy/metrics/cadvisor,如果cadvisor集成到kubelet,采集数据的路径是https://127.0.0.1:10250/metrics/cadvisor
2.查看cadvisor监控指标,在k8s-master节点操作
kubectl create ns monitor-sa #创建一个monitor-sa的名称空间
kubectl create serviceaccount monitor -n monitor-sa #创建一个sa账号
kubectl create clusterrolebinding monitor-clusterrolebinding -n monitor-sa --clusterrole=cluster-admin --serviceaccount=monitor-sa:monitor
#把sa账号monitor通过clusterrolebing绑定到clusterrole上
kubectl get secret -n monitor-sa #查看monitor-sa名称空间下的secret密钥
kubectl describe secret monitor-token-j4jwf -n monitor-sa #可看到token相关的内容如下所示
eyJhbGciOiJSUzI1NiIsImtpZCI6IkV5VUZuUmlPa0pMSF9sSFdUYktjdWdGVk9CR3owMlZhUDg4UzdVQWtveEEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtb25pdG9yLXNhIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im1vbml0b3ItdG9rZW4tajRqd2YiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoibW9uaXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImQ5NzJiNDA1LWEzZTYtNDJiYS04YzU3LTA2MjE2YmE3Nzk1MCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptb25pdG9yLXNhOm1vbml0b3IifQ.U0fMb34xlIcMrC5g_v3jeTMwxg3L3VkAD6lUa84Ke3kor3aB9tT092PM4N5_8cVPRJkHkh5UXx3A7mWOErjftgux41azA2N1Zkuqt-7VXkvvBCOBAmv-95mRz9FPEbzbR9gG5EudcCFeJypYOO3n7Oipr1MS4YxGLYVjUTQ46f5GIMJli9Uw6MYkij9HwuoD8qbLulAq6W540qvJfK4Bd20kvjqzZQveD2Ej-hmUlHR2cqshgD64VgBOIAJJir4bQ04JthLqgpC9peTTYo2hJ8XK-Y5OCx2v419syb0xPC2jrzwcZabvTBG_QCB4Ly8BRAxjEDB4ox3R6EMw8Ie68A
通过下面命令可以获取到cadvisor采集的指标数据
curl https://127.0.0.1:10250/metrics/cadvisor -k -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkV5VUZuUmlPa0pMSF9sSFdUYktjdWdGVk9CR3owMlZhUDg4UzdVQWtveEEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtb25pdG9yLXNhIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im1vbml0b3ItdG9rZW4tajRqd2YiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoibW9uaXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImQ5NzJiNDA1LWEzZTYtNDJiYS04YzU3LTA2MjE2YmE3Nzk1MCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptb25pdG9yLXNhOm1vbml0b3IifQ.U0fMb34xlIcMrC5g_v3jeTMwxg3L3VkAD6lUa84Ke3kor3aB9tT092PM4N5_8cVPRJkHkh5UXx3A7mWOErjftgux41azA2N1Zkuqt-7VXkvvBCOBAmv-95mRz9FPEbzbR9gG5EudcCFeJypYOO3n7Oipr1MS4YxGLYVjUTQ46f5GIMJli9Uw6MYkij9HwuoD8qbLulAq6W540qvJfK4Bd20kvjqzZQveD2Ej-hmUlHR2cqshgD64VgBOIAJJir4bQ04JthLqgpC9peTTYo2hJ8XK-Y5OCx2v419syb0xPC2jrzwcZabvTBG_QCB4Ly8BRAxjEDB4ox3R6EMw8Ie68A"
3.cadvisor中获取到的典型监控指标如下:
指标名称 类型 含义
container_cpu_load_average_10s gauge 过去10秒容器CPU的平均负载
container_cpu_usage_seconds_total counter 容器在每个CPU内核上的累积占用时间 (单位:秒)
container_cpu_system_seconds_total counter System CPU累积占用时间(单位:秒)
container_cpu_user_seconds_total counter User CPU累积占用时间(单位:秒)
container_fs_usage_bytes gauge 容器中文件系统的使用量(单位:字节)
container_fs_limit_bytes gauge 容器可以使用的文件系统总量(单位:字节)
container_fs_reads_bytes_total counter 容器累积读取数据的总量(单位:字节)
container_fs_writes_bytes_total counter 容器累积写入数据的总量(单位:字节)
container_memory_max_usage_bytes gauge 容器的最大内存使用量(单位:字节)
container_memory_usage_bytes gauge 容器当前的内存使用量(单位:字节
container_spec_memory_limit_bytes gauge 容器的内存使用量限制
machine_memory_bytes gauge 当前主机的内存总量
container_network_receive_bytes_total counter 容器网络累积接收数据总量(单位:字节)
container_network_transmit_bytes_total counter 容器网络累积传输数据总量(单位:字节)
4.当能够正常采集到cAdvisor的样本数据后,可以通过以下表达式计算容器的CPU使用率:
(1)sum(irate(container_cpu_usage_seconds_total{image!=""}[1m])) without (cpu)
容器CPU使用率
(2)container_memory_usage_bytes{image!=""}
查询容器内存使用量(单位:字节):
(3)sum(rate(container_network_receive_bytes_total{image!=""}[1m])) without (interface)
查询容器网络接收量(速率)(单位:字节/秒):
(4)sum(rate(container_network_transmit_bytes_total{image!=""}[1m])) without (interface)
容器网络传输量 字节/秒
(5)sum(rate(container_fs_reads_bytes_total{image!=""}[1m])) without (device)
容器文件系统读取速率 字节/秒
(6)sum(rate(container_fs_writes_bytes_total{image!=""}[1m])) without (device)
容器文件系统写入速率 字节/秒
5.cadvisor 常用容器监控指标
(1)网络流量
sum(rate(container_network_receive_bytes_total{name=~".+"}[1m])) by (name)
##容器网络接收的字节数(1分钟内),根据名称查询 name=~".+"
sum(rate(container_network_transmit_bytes_total{name=~".+"}[1m])) by (name)
##容器网络传输的字节数(1分钟内),根据名称查询 name=~".+"
(2)容器 CPU相关
sum(rate(container_cpu_system_seconds_total[1m]))
###所用容器system cpu的累计使用时间(1min钟内)
sum(irate(container_cpu_system_seconds_total{image!=""}[1m])) without (cpu)
###每个容器system cpu的使用时间(1min钟内)
sum(rate(container_cpu_usage_seconds_total{name=~".+"}[1m])) by (name) * 100
#每个容器的cpu使用率
sum(sum(rate(container_cpu_usage_seconds_total{name=~".+"}[1m])) by (name) * 100)
#总容器的cpu使用率
https://blog.opskumu.com/cadvisor.html
整体来看,kube-state-metrics是为prometheus采集k8s资源数据的exporter。kube-state-metrics能够采集绝大多数k8s内置资源的相关数据,例如pod、deploy、service等等。同时它也提供自己的数据,主要是资源采集个数和采集发生的异常次数统计。
已经有了cadvisor、heapster、metric-server,几乎容器运行的所有指标都能拿到,但是下面这种情况却无能为力:
- 我调度了多少个replicas?现在可用的有几个?
- 多少个Pod是running/stopped/terminated状态?
- Pod重启了多少次?
- 我有多少job在运行中
cadvisor并没有对具体的k8s资源对象(deployment,Pod、daemonset、cronjob、…)进行监控,因此就需引用新的exports来暴漏监控指标,kube-state-metrics。:
kube-state-metrics基于client-go开发,本质就是轮询Kubernetes API,监听 add delete update等事件,并将Kubernetes的结构化信息转换为metrics。
helm部署:https://artifacthub.io/packages/helm/prometheus-community/kube-state-metrics/
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install [RELEASE_NAME] prometheus-community/kube-state-metrics [flags]
yaml部署:
git clone https://github.com/kubernetes/kube-state-metrics.git
cd kube-state-metrics
kubectl apply -f examples/standard
kube-state-metrics提供的所有Metric是以kube_开头。
kube_deployment_status_replicas #Gauge类型,每个deployment的副本数。
kube_deployment_status_replicas_available #Gauge类型,每个deployment的可用副本数
kube_deployment_status_replicas_unavailable #Gauge类型,每个deployment中不可用副本的数量
kube_deployment_status_replicas_updated #Gauge类型,每个deployment的更新副本数
kube_deployment_status_observed_generation #Gauge类型,deployment控制器观察到的生成
kube_deployment_status_condition #Gauge类型,部署的当前状态condition
kube_deployment_spec_replicas #Gauge类型,deployment所需的Pod数
kube_deployment_spec_paused #Gauge类型,deployment是否暂停,并且deployment控制器不会处理。
kube_deployment_spec_strategy_rollingupdate_max_unavailable #Gauge类型,
kube_deployment_spec_strategy_rollingupdate_max_surge #Gauge类型,滚动更新deployment期间的最大不可用副本数。
kube_deployment_metadata_generation #Gauge类型,代表期望状态的特定生成的序列号
kube_deployment_labels #Gauge类型,Kubernetes标签转换为Prometheus标签
kube_deployment_created #Gauge类型,Unix创建时间戳
kube_daemonset_created #gauge类型,Unix创建时间戳
kube_daemonset_status_current_number_scheduled #gauge类型,运行至少一个且应该运行的守护程序容器的节点数。
kube_daemonset_status_desired_number_scheduled #gauge类型,应该运行守护程序容器的节点数。
kube_daemonset_status_number_available #gauge类型,应该运行守护程序容器并具有一个或多个守护程序容器正在运行并且可用的节点数
kube_daemonset_status_number_misscheduled #gauge类型,运行守护程序容器但不应该运行的节点数。
kube_daemonset_status_number_ready #gauge类型,应该运行守护程序容器并已运行一个或多个守护程序容器并准备就绪的节点数。
kube_daemonset_status_number_unavailable #gauge类型,应该运行守护程序容器且没有任何守护程序容器正在运行并且可用的节点数
kube_daemonset_updated_number_scheduled #gauge类型,正在运行更新的守护程序pod的节点总数
kube_daemonset_metadata_generation #gauge类型,代表所需状态的特定生成的序列号。
kube_daemonset_labels #gauge类型,Kubernetes标签转换为Prometheus标签。
kube_statefulset_status_replicas #Gauge类型,每个StatefulSet的副本数。
kube_statefulset_status_replicas_current #Gauge类型,每个StatefulSet的当前副本数。
kube_statefulset_status_replicas_ready #Gauge类型,每个StatefulSet的就绪副本数。
kube_statefulset_status_replicas_updated #Gauge类型,每个StatefulSet的更新副本数。
kube_statefulset_status_observed_generation #Gauge类型,StatefulSet控制器观察到的生成。
kube_statefulset_replicas #Gauge类型,StatefulSet所需的pod数。
kube_statefulset_metadata_generation #Gauge类型,表示StatefulSet所需状态的特定生成的序列号。
kube_statefulset_created #Gauge类型,Unix创建时间戳。
kube_statefulset_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_statefulset_status_current_revision #Gauge类型,指示用于按顺序[0,currentReplicas)生成Pod的StatefulSet的版本。
kube_statefulset_status_update_revision #Gauge类型,指示用于按顺序[replicas-updatedReplicas,replicas]生成Pod的StatefulSet的版本。
kube_configmap_info #gauge类型,有关configmap的信息
kube_configmap_created #gauge类型,Unix创建时间戳
kube_configmap_metadata_resource_version #gauge类型,表示configmap特定版本的资源版本。
kube_cronjob_info #gauge类型,关于cronjob的信息
kube_cronjob_labels #gauge类型,Kubernetes标签转换为Prometheus标签。
kube_cronjob_created #gauge类型,Unix创建时间戳
kube_cronjob_next_schedule_time #gauge类型,下次应该安排cronjob。 在lastScheduleTime之后的时间,或者在cron作业的创建时间之后(如果从未计划过)。 使用它来确定作业是否延迟。
kube_cronjob_status_active #gauge类型,活动保持指向当前正在运行的作业的指针。
kube_cronjob_status_last_schedule_time #gauge类型,LastScheduleTime保留有关上一次成功调度作业的时间的信息。
kube_cronjob_spec_suspend #gauge类型,挂起标志告诉控制器挂起后续执行。
kube_cronjob_spec_starting_deadline_seconds #gauge类型,如果由于任何原因错过了计划时间,则开始工作的最后期限(以秒为单位)。
kube_endpoint_address_not_ready #Gauge类型,endpoint中not ready的addresses数
kube_endpoint_address_available #Gauge类型,endpoint中可用的addresses数。
kube_endpoint_info #Gauge类型,有关endpoint的信息
kube_endpoint_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_endpoint_created #Gauge类型,Unix创建时间戳
kube_horizontalpodautoscaler_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_horizontalpodautoscaler_metadata_generation #Gauge类型,通过HorizontalPodAutoscaler控制器观察到的生成。
kube_horizontalpodautoscaler_spec_max_replicas #Gauge类型,自动定标器可以设置的容器数量上限; 不能小于MinReplicas。
kube_horizontalpodautoscaler_spec_min_replicas #Gauge类型,自动定标器可以设置的Pod数量下限,默认为1。
kube_horizontalpodautoscaler_spec_target_metric #Gauge类型,此自动定标器在计算所需副本数时使用的度量标准。
kube_horizontalpodautoscaler_status_condition #Gauge类型,此自动定标器的条件。
kube_horizontalpodautoscaler_status_current_replicas #Gauge类型,此自动缩放器管理的Pod的当前副本数。
kube_horizontalpodautoscaler_status_desired_replicas #Gauge类型,此自动缩放器管理的所需Pod副本数。
kube_ingress_info #Gauge类型,有关ingress的信息
kube_ingress_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_ingress_created #Gauge类型,Unix创建时间戳
kube_ingress_metadata_resource_version #Gauge类型,代表特定ingress版本的资源版本。
kube_ingress_path #Gauge类型,ingress host, paths and backend service 信息。
kube_ingress_tls #Gauge类型,ingress TLS host and secret 信息。
kube_job_info #Gauge类型,有关job的信息。
kube_job_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_job_owner #Gauge类型,有关job所有者的信息。
kube_job_spec_parallelism #Gauge类型,在任何给定时间,job应运行的pod的最大期望数量。
kube_job_spec_completions #Gauge类型,运行job所需的成功完成的Pod数量。
kube_job_spec_active_deadline_seconds #Gauge类型,在系统尝试终止job之前,作业相对于startTime的活动持续时间(以秒为单位)。
kube_job_status_active #Gauge类型,正在运行的pod数。
kube_job_status_succeeded #Gauge类型,成功reached Phase的pod数量。
kube_job_status_failed #Gauge类型,Failed reached Phase的pod数量。
kube_job_status_start_time #Gauge类型,StartTime表示作业Job Manager job的时间。
kube_job_status_completion_time #Gauge类型,CompletionTime表示job完成的时间。
kube_job_complete #Gauge类型,job已完成执行。
kube_job_failed #Gauge类型,job执行失败。
kube_job_created #Gauge类型,Unix创建时间戳。
kube_lease_owner #Gauge类型,有关lease所有者的信息。
kube_lease_renew_time #Gauge类型,Kube lease续订时间。
kube_limitrange #Gauge类型,有关limitrange的信息。
kube_limitrange_created #Gauge类型,Unix创建时间戳
kube_mutatingwebhookconfiguration_info #Gauge类型,有关MutatingWebhookConfiguration的信息。
kube_mutatingwebhookconfiguration_created #Gauge类型,Unix创建时间戳。
kube_mutatingwebhookconfiguration_metadata_resource_version #Gauge类型,资源版本,表示MutatingWebhookConfiguration的特定版本。
kube_namespace_created #Gauge类型,Unix创建时间戳。
kube_namespace_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_namespace_status_condition #Gauge类型,命名空间的状态。
kube_namespace_status_phase #Gauge类型,kubernetes命名空间状态阶段。
kube_networkpolicy_created #Gauge类型,Unix创建时间戳。
kube_networkpolicy_labels #Gauge类型,
kube_networkpolicy_spec_egress_rules #Gauge类型,规格出口规则
kube_networkpolicy_spec_ingress_rules #Gauge类型,规格入口规则
kube_node_info #Gauge类型,有关群集节点的信息。
kube_node_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_node_role #Gauge类型,集群节点的角色。
kube_node_spec_unschedulable #Gauge类型,节点是否可以调度新的Pod。
kube_node_spec_taint #Gauge类型,群集节点的污点。
kube_node_status_capacity #Gauge类型,节点不同资源的容量。
kube_node_status_allocatable #Gauge类型,可用于调度的节点的不同资源的可分配资源。
kube_node_status_condition #Gauge类型,群集节点的状况。
kube_node_created #Gauge类型,Unix创建时间戳。
kube_persistentvolume_capacity_bytes #Gauge类型,persistentvolume(持久卷)容量(以字节为单位)。
kube_persistentvolume_status_phase #Gauge类型,该阶段指示某个卷是否可用,绑定到声明或由声明释放。
kube_persistentvolume_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_persistentvolume_info #Gauge类型,有关持久卷的信息。
kube_persistentvolumeclaim_access_mode #Gauge类型,永久卷声明指定的访问模式。
kube_persistentvolumeclaim_info #Gauge类型,有关持久卷声明的信息。
kube_persistentvolumeclaim_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_persistentvolumeclaim_resource_requests_storage_bytes #Gauge类型,持久卷声明所请求的存储容量。
kube_persistentvolumeclaim_status_condition #Gauge类型,有关持续量索赔的不同条件的状态的信息。
kube_persistentvolumeclaim_status_phase #Gauge类型,永久批量声明当前处于此阶段。
kube_poddisruptionbudget_created #Gauge类型,Unix创建时间戳。
kube_poddisruptionbudget_status_current_healthy #Gauge类型,当前健康pod的数量
kube_poddisruptionbudget_status_desired_healthy #Gauge类型,所需的健康pod的最小数量
kube_poddisruptionbudget_status_pod_disruptions_allowed #Gauge类型,当前允许的pod中断次数
kube_poddisruptionbudget_status_expected_pods #Gauge类型,此中断预算计算的pod总数
kube_poddisruptionbudget_status_observed_generation #Gauge类型,更新此PDB状态时观察到的最新一代
kube_pod_info #Gauge类型,有关pod的信息。
kube_pod_start_time #Gauge类型,pod的unix时间戳记中的开始时间。
kube_pod_completion_time #Gauge类型,pod的unix时间戳记中的完成时间。
kube_pod_owner #Gauge类型,有关Pod所有者的信息。
kube_pod_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_pod_status_phase #Gauge类型,Pod当前阶段。
kube_pod_status_ready #Gauge类型,描述容器是否准备好处理请求。
kube_pod_status_scheduled #Gauge类型,描述pod的调度过程的状态。
kube_pod_container_info #Gauge类型,有关容器中container的信息。
kube_pod_container_status_waiting #Gauge类型,描述容器当前是否处于等待状态。
kube_pod_container_status_waiting_reason #Gauge类型,描述容器当前处于等待状态的原因。
kube_pod_container_status_running #Gauge类型,描述容器当前是否处于运行状态。
kube_pod_container_status_terminated #Gauge类型,描述容器当前是否处于终止状态。
kube_pod_container_status_terminated_reason #Gauge类型,描述容器当前处于终止状态的原因。
kube_pod_container_status_last_terminated_reason #Gauge类型,描述容器处于终止状态的最后原因。
kube_pod_container_status_ready #Gauge类型,Describes whether the containers readiness check succeeded.
kube_pod_container_status_restarts_total #Gauge类型,每个容器的容器重新启动次数。
kube_pod_container_resource_requests #Gauge类型,容器请求的请求资源数。
kube_pod_container_resource_limits #Gauge类型,容器请求的限制资源数量。
kube_pod_overhead #Gauge类型
kube_pod_created #Gauge类型,Unix创建时间戳。
kube_pod_deletion_timestamp #Gauge类型,Unix删除时间戳
kube_pod_restart_policy #Gauge类型,描述此pod使用的重新启动策略。
kube_pod_init_container_info #Gauge类型,有关Pod中init容器的信息。
kube_pod_init_container_status_waiting #Gauge类型,描述初始化容器当前是否处于等待状态。
kube_pod_init_container_status_waiting_reason #Gauge类型,Describes the reason the init container is currently in waiting state.
kube_pod_init_container_status_running #Gauge类型,描述初始化容器当前是否处于运行状态。
kube_pod_init_container_status_terminated #Gauge类型,描述初始化容器当前是否处于终止状态。
kube_pod_init_container_status_terminated_reason #Gauge类型,描述初始化容器当前处于终止状态的原因。
kube_pod_init_container_status_last_terminated_reason #Gauge类型,描述初始化容器处于终止状态的最后原因。
kube_pod_init_container_status_ready #Gauge类型,描述初始化容器准备情况检查是否成功。
kube_pod_init_container_status_restarts_total #Counter类型,初始化容器的重新启动次数。
kube_pod_init_container_resource_limits #Gauge类型,初始化容器请求的限制资源数。
kube_pod_spec_volumes_persistentvolumeclaims_info #Gauge类型,有关Pod中持久卷声明卷的信息。
kube_pod_spec_volumes_persistentvolumeclaims_readonly #Gauge类型,描述是否以只读方式安装了持久卷声明。
kube_pod_status_reason #Gauge类型,pod状态原因
kube_pod_status_scheduled_time #Gauge类型,Pod移至计划状态时的Unix时间戳
kube_pod_status_unschedulable #Gauge类型,描述pod的unschedulable状态。
kube_replicaset_status_replicas #Gauge类型,每个ReplicaSet的副本数。
kube_replicaset_status_fully_labeled_replicas #Gauge类型,每个ReplicaSet的全标签副本数。
kube_replicaset_status_ready_replicas #Gauge类型,每个ReplicaSet的就绪副本数。
kube_replicaset_status_observed_generation #Gauge类型,ReplicaSet控制器观察到的生成。
kube_replicaset_spec_replicas #Gauge类型,ReplicaSet所需的pods数。
kube_replicaset_metadata_generation #Gauge类型,代表所需状态的特定生成的序列号。
kube_replicaset_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_replicaset_created #Gauge类型,Unix创建时间戳。
kube_replicaset_owner #Gauge类型,有关副本集所有者的信息。
kube_replicationcontroller_status_replicas #Gauge类型,每个ReplicationController的副本数。
kube_replicationcontroller_status_fully_labeled_replicas #Gauge类型,每个ReplicationController具有完全标记的副本数。
kube_replicationcontroller_status_ready_replicas #Gauge类型,每个ReplicationController的就绪副本数。
kube_replicationcontroller_status_available_replicas #Gauge类型,每个ReplicationController可用副本的数量。
kube_replicationcontroller_status_observed_generation #Gauge类型,ReplicationController控制器观察到的生成。
kube_replicationcontroller_spec_replicas #Gauge类型,ReplicationController所需的Pod数。
kube_replicationcontroller_metadata_generation #Gauge类型,代表所需状态的特定生成的序列号。
kube_replicationcontroller_created #Gauge类型,Unix创建时间戳。
kube_replicationcontroller_owner #Gauge类型,有关ReplicationController所有者的信息。
kube_resourcequota #Gauge类型,有关资源配额的信息。
kube_resourcequota_created #Gauge类型,Unix创建时间戳。
kube_secret_info #Gauge类型,有关secret的信息。
kube_secret_type #Gauge类型,Type about secret.
kube_secret_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_secret_created #Gauge类型,Unix创建时间戳。
kube_secret_metadata_resource_version #Gauge类型,代表secret特定版本的资源版本。
kube_service_info #Gauge类型,有关service的信息。
kube_service_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_service_created #Gauge类型,Unix创建时间戳。
kube_service_spec_type #Gauge类型,Type about service.
kube_service_spec_external_ip #Gauge类型,服务外部IP。 每个IP一个组。
kube_service_status_load_balancer_ingress #Gauge类型,服务负载均衡器入口状态
kube_storageclass_info #Gauge类型,有关storageclass的信息。
kube_storageclass_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_storageclass_created #Gauge类型,Unix创建时间戳。
kube_validatingwebhookconfiguration_info #Gauge类型,有关ValidatingWebhookConfiguration的信息。
kube_validatingwebhookconfiguration_created #Gauge类型,Unix创建时间戳。
kube_validatingwebhookconfiguration_metadata_resource_version #Gauge类型,表示ValidatingWebhookConfiguration特定版本的资源版本。
kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_minallowed #Gauge类型,VerticalPodAutoscaler可以为与名称匹配的容器设置的最小资源。
kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_maxallowed #Gauge类型,VerticalPodAutoscaler可以为与名称匹配的容器设置的最大资源。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_lowerbound #Gauge类型,在VerticalPodAutoscaler更新程序逐出容器之前,容器可以使用的最少资源。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_target #Gauge类型,VerticalPodAutoscaler为容器推荐的目标资源。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_uncappedtarget #Gauge类型,VerticalPodAutoscaler建议的目标资源,用于忽略边界的容器。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_upperbound #Gauge类型,在VerticalPodAutoscaler更新程序逐出容器之前,容器可以使用的最大资源。
kube_verticalpodautoscaler_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_verticalpodautoscaler_spec_updatepolicy_updatemode #Gauge类型,VerticalPodAutoscaler的更新模式。
kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_minallowed #Gauge类型,VerticalPodAutoscaler可以为与名称匹配的容器设置的最小资源。
kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_maxallowed #Gauge类型,VerticalPodAutoscaler可以为与名称匹配的容器设置的最大资源。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_lowerbound #Gauge类型,在VerticalPodAutoscaler更新程序逐出容器之前,容器可以使用的最少资源。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_target #Gauge类型,VerticalPodAutoscaler为容器推荐的目标资源。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_uncappedtarget #Gauge类型,VerticalPodAutoscaler建议的目标资源,用于忽略边界的容器。
kube_verticalpodautoscaler_status_recommendation_containerrecommendations_upperbound #Gauge类型,在VerticalPodAutoscaler更新程序逐出容器之前,容器可以使用的最大资源。
kube_verticalpodautoscaler_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_verticalpodautoscaler_spec_updatepolicy_updatemode #Gauge类型,VerticalPodAutoscaler的更新模式。
kube_volumeattachment_info #Gauge类型,有关volumeattachment的信息。
kube_volumeattachment_created #Gauge类型,Unix创建时间戳。
kube_volumeattachment_labels #Gauge类型,Kubernetes标签转换为Prometheus标签。
kube_volumeattachment_spec_source_persistentvolume #Gauge类型,PersistentVolume源参考。
kube_volumeattachment_status_attached #Gauge类型,Information about volumeattachment. status
kube_volumeattachment_status_attachment_metadata #Gauge类型,volumeattachment metadata.