当前位置: 首页 > wzjs >正文

北仑网站建设培训学校惠州网络推广哪里找

北仑网站建设培训学校,惠州网络推广哪里找,美食网站建设的背景,简洁的网站建设合同以下是关于 kube-state-metrics 的详细说明,包括其工作原理、部署 YAML 示例以及采集的核心指标。 一、kube-state-metrics 的作用 kube-state-metrics 是一个 Kubernetes 组件,用于将 Kubernetes 集群中各种资源对象(如 Pod、Deployment、N…

以下是关于 kube-state-metrics 的详细说明,包括其工作原理、部署 YAML 示例以及采集的核心指标。


一、kube-state-metrics 的作用

kube-state-metrics 是一个 Kubernetes 组件,用于将 Kubernetes 集群中各种资源对象(如 Pod、Deployment、Node、Service 等)的状态转换为 Prometheus 格式的指标。
它与 kube-apiserver 交互,不监控集群的健康状态,而是专注于资源对象的配置和状态信息,例如:
• Pod 的运行状态(Pending/Running/Failed)。
• Deployment 的副本数、更新状态。
• Node 的资源请求与限制。
• PersistentVolume 的容量和状态。


二、部署 YAML 示例

以下是一个典型的 kube-state-metrics 部署配置(包含 Deployment、Service 和 ServiceMonitor):

# kube-state-metrics-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: kube-state-metricsnamespace: monitoringlabels:app.kubernetes.io/name: kube-state-metrics
spec:replicas: 2selector:matchLabels:app.kubernetes.io/name: kube-state-metricstemplate:metadata:labels:app.kubernetes.io/name: kube-state-metricsspec:serviceAccountName: kube-state-metricscontainers:- name: kube-state-metricsimage: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.10.0ports:- name: http-metricscontainerPort: 8080resources:limits:memory: 512Micpu: 500mrequests:memory: 256Micpu: 100m
---
# kube-state-metrics-service.yaml
apiVersion: v1
kind: Service
metadata:name: kube-state-metricsnamespace: monitoringlabels:app.kubernetes.io/name: kube-state-metrics
spec:ports:- name: http-metricsport: 8080targetPort: http-metricsselector:app.kubernetes.io/name: kube-state-metrics
---
# 使用 Prometheus Operator 的 ServiceMonitor
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:name: kube-state-metricsnamespace: monitoring
spec:endpoints:- port: http-metricsinterval: 30sselector:matchLabels:app.kubernetes.io/name: kube-state-metricsnamespaceSelector:matchNames:- monitoring
---
# RBAC 权限
apiVersion: v1
kind: ServiceAccount
metadata:name: kube-state-metricsnamespace: monitoring
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: kube-state-metrics
rules:
- apiGroups: [""]resources: ["nodes", "pods", "services", "namespaces", "persistentvolumes", "persistentvolumeclaims"]verbs: ["list", "watch"]
- apiGroups: ["apps"]resources: ["daemonsets", "deployments", "statefulsets", "replicasets"]verbs: ["list", "watch"]
- apiGroups: ["batch"]resources: ["jobs", "cronjobs"]verbs: ["list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: kube-state-metrics
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: kube-state-metrics
subjects:
- kind: ServiceAccountname: kube-state-metricsnamespace: monitoring

三、工作原理

  1. 监听 Kubernetes API
    kube-state-metrics 通过 Kubernetes 的 Watch 机制监听 API 服务器,实时获取资源对象的变更事件(如创建、更新、删除)。

  2. 生成指标
    根据监听到的事件,生成与资源状态相关的 Prometheus 指标。例如:
    • 当 Pod 状态变为 Running 时,更新 kube_pod_status_phase{phase="Running"} 指标。
    • 当 Deployment 的副本数变化时,更新 kube_deployment_status_replicas 指标。

  3. 暴露 HTTP 端点
    默认在 8080 端口暴露 /metrics 端点,供 Prometheus 抓取。

  4. 高可用性
    支持多副本部署,避免单点故障。所有副本独立工作,指标数据最终一致。


四、核心采集指标

以下是 kube-state-metrics 生成的主要指标类别及示例:

1. Pod 相关指标

kube_pod_status_phase{phase="Pending|Running|Succeeded|Failed|Unknown"}
Pod 当前阶段的状态。
kube_pod_container_status_restarts_total
Pod 容器的重启次数。
kube_pod_info{node="<node-name>", namespace="<namespace>"}
Pod 的元信息(所属节点、命名空间等)。

2. Deployment 相关指标

kube_deployment_status_replicas{deployment="<name>"}
Deployment 的期望副本数、实际副本数、可用副本数。
kube_deployment_spec_strategy_rollingupdate_max_unavailable
RollingUpdate 策略中最大不可用副本数。

3. Node 相关指标

kube_node_status_allocatable{resource="cpu|memory"}
Node 的可分配资源(CPU、内存)。
kube_node_status_capacity{resource="cpu|memory"}
Node 的总资源容量。
kube_node_labels{label_<name>="<value>"}
Node 的标签信息。

4. Service 相关指标

kube_service_spec_type{type="ClusterIP|NodePort|LoadBalancer"}
Service 的类型。
kube_service_labels{service="<name>"}
Service 的标签。

5. PersistentVolume 相关指标

kube_persistentvolume_status_phase{phase="Available|Bound|Released|Failed"}
PersistentVolume 的状态。
kube_persistentvolume_capacity_bytes
PersistentVolume 的容量。

6. 其他资源指标

DaemonSet: kube_daemonset_status_number_ready
StatefulSet: kube_statefulset_replicas
Job: kube_job_status_failed
CronJob: kube_cronjob_next_schedule_time


五、指标应用场景

  1. 资源使用监控
    通过 kube_pod_container_resource_requestskube_pod_container_resource_limits 分析容器资源请求和限制的合理性。

    # 查看 CPU 请求超配的 Pod
    sum(kube_pod_container_resource_requests{resource="cpu"}) by (pod) > sum(kube_pod_container_resource_limits{resource="cpu"}) by (pod)
    
  2. 异常状态告警
    当 Pod 处于 FailedPending 状态时触发告警:

    kube_pod_status_phase{phase=~"Failed|Pending"} == 1
    
  3. 配置合规性检查
    检测未设置资源限制的 Deployment:

    kube_deployment_spec_replicas unless kube_deployment_spec_strategy_rollingupdate_max_unavailable
    

六、注意事项

  1. RBAC 权限
    确保 ServiceAccount 具有足够的权限访问目标资源(参考示例中的 ClusterRole)。

  2. 资源限制
    在高规模集群中,kube-state-metrics 可能消耗较多内存,需合理设置 resources.limits

  3. 指标过滤
    使用 --metric-labels-allowlist--metric-annotations-allowlist 参数控制生成的指标标签,减少数据量。

  4. 版本兼容性
    确保 kube-state-metrics 版本与 Kubernetes 集群版本兼容(官方兼容性矩阵)。


通过以上配置和说明,您可以快速部署 kube-state-metrics 并利用其指标全面监控 Kubernetes 资源状态。


文章转载自:

http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://00000000.wpspf.cn
http://www.dtcms.com/wzjs/621597.html

相关文章:

  • 企业网站报价方案下载网站开发初学
  • 建设网站的公司汇总wordpress直播购物插件
  • 珠海知名网站专业制作简历收费
  • 包头做网站上海 房地产网站建设
  • 公司网站做的好的公司企业网站优化技巧
  • 武隆网站建设费用关于加强网站建设的意见
  • 推荐一本学做网站的书网站怎么做能让人搜到
  • 做网站主要是做什么2345网址导航下载官网
  • 重新建设网站的报告泰安招聘网站有哪些
  • 广东网站建设网站汉中门户网
  • 微信公众号怎么创建文章多网站怎么做seo
  • 1688网站一起做网店单位网站怎么做
  • 厚街网站建设费用欢迎页网页设计作品欣赏
  • 云主机怎么装网站网站怎么做 流程图
  • 公司网站关键词优化分析网络营销的特点
  • 网站开发流程步骤枣庄网站建设枣庄
  • 网站域名与网站首页网址福建省住房建设厅网站
  • 网站建设的运营计划网络内容建设包括什么
  • 做网站需要那些软件濮阳做网站的公司
  • 装饰工程设计东莞网站建设如何找百度做网站
  • 国外源代码网站网站快照长期不更新
  • 网站建设推广语制作钓鱼网站的费用
  • 论文引用网站怎样做脚注吉林省建设厅网站
  • 青州网站建设青州my最新域名是什么
  • 商城平台网站开发深圳做网站关键词必须要中文网址
  • 英文WordPress站点切换为中文做企业的网站都要准备什么
  • 要学做游戏上什么网站学好网络工程师招聘
  • 建站必须要域名吗建设网站注意什么
  • 永州做网站wordpress文章更新后
  • 网站建设模板成功案例微信怎么推广自己的产品